Respiratory rate estimation using radio frequency (RF) sensing
By analyzing the CSI phase information of Wi-Fi signals and utilizing the CSI processing architecture and spectrum analysis of multiple antennas, the high misidentification rate problem of estimated respiration rate in existing technologies is solved, and accurate respiration rate detection is achieved in complex environments.
Patent Information
- Application Number
- CN202480008610.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-01-27
- Filing Date
- 2024-01-05
- Publication Date
- 2025-09-16
AI Technical Summary
Existing technologies have difficulty in effectively using RF signals to estimate respiratory rate, especially in complex environments, with a high misidentification rate and inability to accurately detect respiratory activity.
By analyzing the phase information of the Wi-Fi signal's channel state information (CSI), using the CSI processing architecture of multiple antennas to compensate for frequency offset, selecting an appropriate subcarrier algorithm, and performing spectrum analysis to determine the breathing rate, including methods for single subcarrier, multiple subcarriers, or all subcarriers.
It achieves accurate estimation of respiratory rate in complex environments, reduces the false recognition rate, and enables real-time detection of respiratory rate on general Wi-Fi devices.
Smart Images

Figure CN120659577A_ABST
Abstract
Description
[0001] Related applications
[0002] This application claims the benefit of U.S. application No. 18 / 160,534, filed on January 27, 2024, entitled “BREATHING RATE ESTIMATION USING RADIO FREQUENCY (RF) SENSING,” which is assigned to the assignee of this application and is incorporated herein by reference in its entirety. Background Art 1. Technical Field
[0003] The present disclosure relates generally to object or motion detection, and more particularly to determining respiration rate using radio frequency (RF) sensing.
[0004] 2. Description of Related Technologies
[0005] Wireless communications using RF signals are ubiquitous. For example, wireless local area network (WLAN) communications (e.g., Wi-Fi) are widely used in consumer, industrial, commercial, and other applications to provide devices with internet and / or other network connectivity. Current developments in the industry are expanding the use of such RF signals to applications beyond wireless communications. Summary of the Invention
[0006] Embodiments described herein provide for estimating the real-time respiration rate (e.g., of a human) in the presence of radio frequency (RF) signals (such as Wi-Fi signals). Channel state information (CSI) for the RF signal may be obtained, and phase information of the CSI may be analyzed to determine the respiration rate. Embodiments may utilize CSI from one subcarrier, multiple subcarriers, or all subcarriers used in a set of RF transmissions over a period of time.
[0007] An example method of radio frequency (RF) sensing for respiration rate determination according to the present disclosure may include obtaining channel state information (CSI) corresponding to each of a plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers. The method may also include extracting phase information of the CSI corresponding to each of the plurality of subcarriers over a time period. The method may also include determining, for each of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum comprising phase change values of the CSI corresponding to the corresponding subcarrier for a plurality of frequencies. The method may also include determining a respiration rate based on the spectrum of the CSI corresponding to a set of subcarriers comprising one or more of the plurality of subcarriers, the respiration rate corresponding to a phase change value in the spectrum within a predetermined frequency range of the respiration rate. The method may also include outputting an indication of the determined respiration rate.
[0008] An example device includes a memory, one or more processors communicatively coupled to the memory, wherein the one or more processors are configured to obtain channel state information (CSI) corresponding to each of a plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers. The one or more processors may be further configured to extract phase information of the CSI corresponding to each of the plurality of subcarriers over a time period. The one or more processors may be further configured to determine, for each of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum comprising phase change values of the CSI corresponding to the corresponding subcarrier for a plurality of frequencies. The one or more processors may be further configured to determine a respiration rate based on the spectrum of the CSI corresponding to the set of subcarriers comprising one or more of the plurality of subcarriers, the respiration rate corresponding to a phase change value in the spectrum within a predetermined frequency range of the respiration rate. The one or more processors may be further configured to output an indication of the determined respiration rate.
[0009] An example apparatus for radio frequency (RF) sensing for respiration rate determination according to the present disclosure may include means for obtaining channel state information (CSI) corresponding to each of a plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers. The apparatus may also include means for extracting phase information of the CSI corresponding to each of the plurality of subcarriers over a time period. The apparatus may also include means for determining, for each of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum comprising phase change values of the CSI corresponding to the corresponding subcarrier for a plurality of frequencies. The apparatus may also include means for determining a respiration rate based on the spectrum of the CSI corresponding to a set of subcarriers comprising one or more of the plurality of subcarriers, the respiration rate corresponding to a phase change value in the spectrum within a predetermined frequency range of the respiration rate. The apparatus may also include means for outputting an indication of the determined respiration rate.
[0010] According to the present disclosure, an example non-transitory computer-readable medium storing instructions for radio frequency (RF) sensing for respiratory frequency determination includes code for obtaining channel state information (CSI) corresponding to each of the plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers. The instructions may also include code for extracting phase information of the CSI corresponding to each of the plurality of subcarriers over a time period. The instructions may also include code for determining, for each of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum comprising phase change values of the CSI corresponding to the corresponding subcarrier for a plurality of frequencies. The instructions may also include code for determining a respiratory rate based on the spectrum of the CSI corresponding to a set of subcarriers comprising one or more of the plurality of subcarriers, the respiratory rate corresponding to a phase change value in the spectrum within a predetermined frequency range of the respiratory rate. The instructions may also include code for outputting an indication of the determined respiratory rate.
[0011] This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used alone to determine the scope of the claimed subject matter. This subject matter should be understood by reference to appropriate portions of the entire specification, any or all of the drawings, and each claim. The foregoing and other features and examples are described in more detail in the following description, claims, and drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] Figure 1 is an example basic scenario in which radio frequency (RF) sensing can be used to detect objects.
[0013] Figure 2Ais a diagram illustrating the basic principles of RF detection of human breath according to some embodiments.
[0014] Figure 2B Illustrate how this can be achieved according to some embodiments Figure 2A An example of a scene in .
[0015] Figure 3A is a diagram of a channel state information (CSI) processing architecture that may be used to extract phase information from CSI, according to some embodiments.
[0016] Figure 3B is a graph of example CSI phase information before frequency offset compensation.
[0017] Figure 3C is a graph of example CSI phase information after frequency offset compensation according to some embodiments.
[0018] Figure 4 is an illustration of how the output of the architecture in FIG. 3 may be further processed to determine a respiration estimate or respiration rate.
[0019] Figure 5 is used according to some embodiments with Figure 4 Algorithm 1 is a flow chart of a method for determining respiration rate for a single subcarrier.
[0020] Figure 6 is a graph of an example plomb plot for a single subcarrier according to some embodiments.
[0021] Figure 7 Is used according to the implementation scheme and Figure 4 Algorithm 2 corresponds to a flow chart of a method for determining respiration rate using multiple subcarriers.
[0022] Figure 8A and Figure 8B is a graph illustrating an example plomb plot of CSI for a first subcarrier and a second subcarrier.
[0023] Figure 9A is a graph of an example plomb plot of subcarriers having local maxima of recordable bpm values, according to some embodiments.
[0024] Figure 9B is a graph of an example histogram that may be produced according to some embodiments.
[0025] Figure 10 According to the implementation plan Figure 4 Algorithm 3 corresponds to a flow chart of a method for determining a respiratory rate estimate.
[0026] Figure 11A is an example graph in which a periodogram of power spectral density (PSD) is plotted for all subcarriers of an example transmission.
[0027] Figure 11B Yes Figure 11A The graph in FIG is a graph of the sum of the PSDs across all subcarriers.
[0028] Figure 12A is another example graph in which a periodogram of the PSD is plotted for all subcarriers of another example transmission.
[0029] Figure 12B Yes Figure 12A The graph in FIG is a graph of the sum of the PSDs across all subcarriers.
[0030] Figure 13A is yet another example graph in which a periodogram of the PSD is plotted for all subcarriers for yet another example transmission.
[0031] Figure 13B Yes Figure 13A The graph in FIG is a graph of the sum of the PSDs across all subcarriers.
[0032] Figure 14 is a flow chart illustrating a method of RF sensing for respiratory rate determination according to one embodiment.
[0033] Figure 15 is a block diagram of an embodiment of a computing system.
[0034] Similar reference symbols in the various figures indicate similar elements according to certain example embodiments. In addition, multiple instances of an element may be indicated by following the first digit of the element with a letter or hyphen and a second digit. For example, multiple instances of element 110 may be indicated as 110-1, 110-2, 110-3, etc. or 110a, 110b, 110c, etc. When only the first digit is used to refer to such an element, it should be understood that any instance of the element (e.g., element 110 in the previous example would refer to elements 110-1, 110-2, and 110-3 or to elements 110a, 110b, and 110c) is included. DETAILED DESCRIPTION
[0035] For the purpose of describing the innovative aspects of the present disclosure, the following description refers to certain specific implementations. However, one of ordinary skill in the art will readily recognize that the teachings herein can be applied in a variety of different ways. Some examples in the present disclosure may be based on wireless local area network (WLAN) communications in accordance with the Institute of Electrical and Electronics Engineers (IEEE) 802.11 wireless standards (including those standards identified as Wi-Fi technology). However, the specific implementations described may be implemented in any device, system, or network capable of sending and receiving radio frequency (RF) signals in accordance with any communication standard, such as any of the following standards: IEEE 802.11 standards, standards, Ultra-Wideband (UWB) and / or other technologies based on the IEEE 802.15.x standards, Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Global System for Mobile Communications (GSM), GSM / General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Terrestrial Trunked Radio (TETRA), Wideband CDMA (W-CDMA), Evolution-Data Optimized (EV-DO), 1xEV-DO, EV-DO Revision A, EV-DO Revision B, High Speed Packet Access (HSPA), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolved High Speed Packet Access (HSPA+), Long Term Evolution (LTE), AMPS, or other known signals for communicating within a wireless network, cellular network, or Internet of Things (IoT) network, such as a system utilizing 3G, 4G, 5G, or 6G or further implementations thereof.
[0036] As used herein, an "RF signal" includes electromagnetic waves that transmit information through the space between a transmitter (or transmitting device) and a receiver (or receiving device). As used herein, a transmitter may transmit a single "RF signal" or multiple "RF signals" to a receiver. However, due to the propagation characteristics of RF signals through multipath channels, a receiver may receive multiple "RF signals" corresponding to each transmitted RF signal. The same transmitted RF signal on different paths between a transmitter and a receiver may be referred to as a "multipath" RF signal and / or one or more received RF signals.
[0037] As noted, RF signals are often used for wireless communications but are rarely used for other purposes. Embodiments herein utilize the use of RF signals, which may include signals from common wireless technologies such as wireless local area networks (WLANs) (e.g., Wi-Fi), to determine the respiratory rate of a subject (e.g., a human) in the presence of the RF signal. Advantages of utilizing the embodiments herein may include, among other things, determination of respiratory rate for presence detection, health analysis, and / or other applications. Furthermore, the determination may be made using common equipment (e.g., Wi-Fi equipment) without the need for specialized equipment.
[0038] RF sensing is the process of sensing information about an object (such as its location, movement, etc.) using reflections of RF signals from the object. Briefly, an RF signal, comprising one or more waveforms, sequences, or packets, is used for channel acquisition to obtain a channel impulse response (CIR), a channel frequency response (CFR), and / or other forms of channel state information (CSI) that indicate the presence and / or movement of an object. RF sensing can be performed using: (i) a monostatic configuration in which a single device transmits and receives RF signals; (ii) a bistatic configuration with a single transmitting device and a single receiving device; and / or (iii) a multistatic configuration with one or more transmitting devices and / or one or more receiving devices.
[0039] Figure 1A basic scenario is illustrated in which RF sensing is used to detect an object 110. Here, bistatic RF sensing is performed by a transmitting device 120 and a receiving device 130, although, as noted, other scenarios may have monostatic and / or multistatic configurations. Generally speaking, RF sensing can be used to detect an object 110 by transmitting an RF signal 140 (e.g., comprising one or more pulses) by the transmitting device 120 using one or more antennas. The RF signal 140 is reflected by the object 110, and a reflected signal 144 (including the RF signal 140 reflected from the object 110) is then received by one or more antennas of the receiving device 130. The received RF signal can then be processed by the receiving device using digital signal processing (DSP) techniques to determine the range of the object. A processor, computer, or device communicatively coupled to the transmitting device 120 and the receiving device 130 (including a processor of the transmitting device 120 or the receiving device 130) can coordinate the timing of the transmission and reception of the RF signal. (The transmitting device 120 and the receiving device 130 may be communicatively linked to a communication network such as a WLAN (e.g., Wi-Fi), a 5G cellular network, or a combination thereof.) In some embodiments, the transmitting device 120 and / or the receiving device 130 may have multiple antennas (e.g., WLAN radios typically have 2 to 4 antennas) that can be configured to implement beamforming at the transmitting device 120 and / or the receiving device 130, respectively. The beamforming performed by the transmitting device 120 may enable the transmitting device 120 to transmit the RF signal 140 in certain directions (e.g., azimuth and / or elevation). The beamforming performed by the receiving device 130 may enable the receiving device 130 to determine similar direction or angle information about the received reflected signal 144. Thus, RF sensing can be achieved by using beamforming to "scan" a space or volume to transmit the RF signal 140 and / or receive the reflected signal 144 in different directions (e.g., at different azimuths and / or elevations) within the space or volume, respectively, using different Tx and / or Rx beams. Furthermore, changes in the CSI over time indicate motion of the object 110. Thus, the RF signals may be used to determine the object's position (eg, angle and range), volume (or shape), movement, or a combination thereof.
[0040] It should be noted that the characteristics of the transmitted RF signal 140 (and reflected signal 144) can vary depending on the technology being utilized. As mentioned, the techniques provided herein are applicable to WLAN technology, which typically operates at 2.4 GHz, 5 GHz, and 6 GHz, but can include frequencies ranging from 900 MHz to 60 GHz. This includes, for example, frequencies used by the 802.11ad Wi-Fi standard (which operates at 60 GHz). That is, some embodiments may utilize RF frequencies outside of this range. Because RF sensing can be performed in the same frequency band as communication, the hardware and / or software components used for communication (e.g., the wireless modems in the transmitting device 120 and / or the receiving device 130) can also be used for RF sensing. The techniques for RF sensing described herein can utilize various types of RF signals 140 (such as Zadoff sequences, orthogonal frequency division multiplexing (OFDM)-like long training field (LTF) symbols) for channel acquisition to determine the presence and / or movement of the object 110. Because the RF sensing system can be capable of transmitting RF signals for communication (e.g., using IEEE 802.11 communication technology), embodiments can utilize channel estimation used in communication to perform RF sensing as provided herein. Thus, the RF signal 140 can include wireless pulses and / or packets that are the same as those used for channel estimation in communication.
[0041] Because RF sensing can detect movement, it has the potential to detect the type of movement. Figure 2A and Figure 2B It is illustrated how this can be done with respect to human breathing.
[0042] Figure 2A 2 is a diagram illustrating the basic principles of RF detection of human breathing. In this example, a transmitting device 210 transmits an RF signal 220 to a receiving device 230 over a period of time. As illustrated, the RF signal 220 can take many paths from the transmitting device 210 to the receiving device 230, including a static path having a direct (e.g., line of sight (LOS)) path and a path reflected by a static object 240. As described in other appendices herein, Figure 1 Sample, Figure 2A These are provided as non-limiting examples. Although transmitting device 210 is illustrated as a mobile phone and receiving device 230 is illustrated as an access point, an access point can operate as a transmitting device and a mobile phone can operate as a receiving device. Generally speaking, the type of transmitting and / or receiving device can vary; in fact, any wireless device type (e.g., Wi-Fi) can operate as transmitting device 210 and / or receiving device 230.
[0043] Additionally, however, the RF signal 220 may take a dynamic path reflected by a (e.g., stationary) human subject's chest 250. Specifically, as the subject breathes, the human chest 250 moves in and out, thereby changing the length of the dynamic path taken by the RF signal 220. The RF signal taking the dynamic path and received by the receiving device 230 may be mathematically described as:
[0044]
[0045] where A is the attenuation and d(t) is the propagation length of the dynamic path taken by the RF signal.
[0046] As the subject breathes, the dynamic path length increases or decreases almost sinusoidally as the chest 250 moves. In the corresponding I / Q graph 260 of the received signal, the CSI rotates clockwise or counterclockwise along an arc corresponding to inspiration or expiration (e.g., Figure 2A The phase of the CSI captures the change in dynamic path length.
[0047] Figure 2B Illustrate how this can be achieved according to some embodiments Figure 2A . Here, transmitting device 210 transmits an RF signal for a period of time in the presence of human subject 270. As illustrated, receiving device 230 receives the RF signal reflected from human subject 270 at two antennas. As described below, using two antennas facilitates extracting phase data from the CSI of the RF signal. In experiments, to establish a true value for respiration rate, human subject 270 may wear device 280 that measures the subject's respiration independently of the presence of an RF signal.
[0048] Figure 3A is a diagram of a CSI processing architecture 300 that may be used to extract phase information from CSI according to some embodiments. In the architecture 300, a first antenna and a second antenna receive CSI at blocks 310-1 and 310-2, respectively (collectively, blocks 310). Without compensating for frequency offset, it may be difficult to extract any phase information from the CSI input at block 310. An example phase response at block 310 is Figure 3B Example in.
[0049] exist Figure 3B In Figure 1, the phase response of all 128 subcarriers of a Wi-Fi signal is plotted over a period of more than 30 seconds. As can be seen, the phase response increases over time, illustrating how frequency offset at the receiver causes the phase response to drift over time, making it difficult to extract any true phase information.
[0050] return Figure 3A, the CSI processing architecture 300 compensates for the frequency offset by multiplying the CSI from the first antenna (CSI 1 at block 310-1) with the conjugate of the CSI from the second antenna (CSI 2 at block 310-2). (The conjugate of the CSI from the second antenna is illustrated at block 320, and the multiplication is illustrated at item 330). Using Equation 1, the CSI 1 of all subcarriers at the first antenna at time t can be expressed as:
[0051]
[0052] Where x1 is CSI 1, n is the subcarrier, and N is the total number of subcarriers. The equivalent CSI 2 at the second antenna can be expressed as:
[0053]
[0054] According to some embodiments, since both antennas share the same oscillator and therefore have the same frequency offset, Figure 3A The illustrated approach multiplies the CSI of one antenna by the conjugate of the other antenna (e.g., x1(n,t)×conj(x2(n,t)) to eliminate the residual frequency offset term e in both Equation 2 and Equation 3. -jφ(t) The phase of the multiplication result is determined by ( Figure 3A After unwrapping the phase information (block 340 in block 350 to determine the true phase amplitude), the true phase response of the input CSI can be determined. For clarity, the unwrapping at block 350 can determine the true phase amplitude by adding or subtracting an appropriate multiple of 2pi to each phase to make the phase continuous across the subcarriers. Figure 3B An example of the resulting output corresponding to the CSI is Figure 3C Example in.
[0055] It may be noted that alternative embodiments may utilize Figure 3A The CSI processing architecture 300 has different architectures to provide the same functional result: determining the phase difference between the CSI of the two antennas. The alternative architecture can calculate the phase of the CSI of the first antenna and the phase of the CSI of the second antenna, and then calculate the difference between the two phases. This alternative architecture gives Figure 3A The same result is obtained by the CSI processing architecture 300, namely, the phase difference between the two antennas. Other embodiments may use other techniques to determine the phase difference between the two antennas. Regardless of how the phase difference between the two antennas is determined, the phase difference can then be further processed to determine the respiration rate, as described in the embodiments below.
[0056] Figure 4 How can it be further processed (e.g. Figure 3AHere, the output of the architecture 300 (e.g., Figure 3C The phase information (illustrated) may be used to select one or more subcarriers for use in respiration rate determination, as shown at block 410. The CSI corresponding to the selected subcarriers is then further processed, as shown at block 420, to determine the respiration rate.
[0057] like Figure 4 As shown, one or more of three different algorithms can be used depending on the desired functionality. Each algorithm uses multiple subcarriers (e.g., all 128 subcarriers transmitted by Wi-Fi) as input. According to the first algorithm ("Algorithm 1"), a single subcarrier is selected; according to the second algorithm ("Algorithm 2"), multiple subcarriers are selected; according to the third algorithm ("Algorithm 3"), all subcarriers are used.
[0058] The choice of which algorithm to use may depend on the scenario. For example, a single subcarrier may be used to determine the respiration rate in a relatively empty environment. However, if the environment has multiple objects (furniture, ceiling fans, etc.), multiple subcarriers may be used. In some scenarios, using all subcarriers may be most efficient. With this in mind, some embodiments may utilize Algorithm 2 if Algorithm 1 is unsuccessful in determining the respiration rate, and further utilize Algorithm 3 if Algorithm 2 is unsuccessful in determining the respiration rate. Additionally or alternatively, the determination of which algorithm to use may be based on an analysis of the CSI itself (already processed by the architecture 300). Additional details regarding this determination and the algorithm are provided below.
[0059] It should be noted that aspects of the output of architecture 300 and the subcarrier selection at block 410 may vary depending on the desired functionality. For example, according to some embodiments, the CSI may be sampled at a rate of 100 Hz (e.g., per carrier). Alternative embodiments may utilize higher sampling rates (e.g., 200 Hz, 500 Hz, 1 kHz, etc.) or lower sampling rates (e.g., 50 Hz, 20 Hz, 10 Hz, etc.). Additionally or alternatively, the time period over which the CSI is analyzed may vary. For example, according to some embodiments, an analysis of the CSI for the previous X time period may be output every Y seconds, where the time period (X) includes a window of 10 seconds, 20 seconds, 30 seconds, 60 seconds, 90 seconds, or 120 seconds, etc., and the refresh rate (Y) is 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, or 10 seconds, etc. According to some embodiments, the values of X and / or Y may be predefined or may be defined by the user, device, or application. According to some embodiments, one or both of these values may be changed if / when respiration is detected (eg, modifying the refresh rate and / or time period to better track respiration).
[0060] Figure 5 is a flow chart of a method 500 for determining respiration rate using a single subcarrier according to one embodiment. For example, the method 500 may be implemented by a system having two antennas and based on Figure 4 A receiving device (e.g., Figure 2A and Figure 2B Executed by software and / or hardware components of the receiving device 230).
[0061] The functionality at block 510 includes determining a plomb function. As will be appreciated by one of ordinary skill in the art, using the plomb function (or similar spectral determination and analysis) on the phase response of the CSI received by the receiver allows for frequency domain analysis of motion (Doppler shift) at different rates / frequency phase changes. According to some aspects, the plomb function is essentially a Fast Fourier Transform (FFT) plot of the unwrapped CSI output by the processing architecture 300 over a period of time.
[0062] Figure 6 FIG6 is a graph 600 of an example plomb plot for a single subcarrier according to one embodiment. As can be seen, graph 600 plots phase amplitude as a function of frequency (respiration rate or breaths per minute (bpm)). Figure 6 As shown, there may be a range of interest 610 that reflects a person's breathing rate that can be analyzed. Thus, data within the range of interest 610 may be analyzed more thoroughly, while data outside the predetermined range of interest 610 may be ignored (in most cases). The bpm at which the greatest movement (Doppler shift) occurs produces a peak in the data (e.g., peak 620). Although Figure 6 The range of interest 610 in corresponds to a respiratory rate of approximately 10 bpm to 50 bpm, although alternative embodiments may have different ranges depending on the desired functionality.
[0063] return Figure 5 Once the plomb determination has been made for all subcarriers at block 510, the method 500 may proceed to determining a respiration estimate, as indicated at block 520. In algorithms utilizing a single subcarrier (e.g., Figure 4 In the algorithm 1), the plomb for all subcarriers may be analyzed to determine the respiration estimate. Specifically, the respiration estimate may be determined based on the range of interest (e.g., Figure 6 The breathing noise ratio (BNR) of the CSI of each subcarrier is calculated based on the plomb determination as follows:
[0064]
[0065] For example, Figure 6, the BNR would be the ratio of the energy within the range of interest 610 to the energy of the entire graph 600 .
[0066] According to some embodiments, the subcarrier with the highest BNR value of CSI among all subcarriers may be selected for respiration rate determination. Once the subcarrier with the highest BNR value of CSI is selected, the bpm of the peak in the range of interest in the plomb plot of the subcarrier may be the determined respiration rate. For example, Figure 6 , peak 620 represents the maximum value within range of interest 610, and thus the breathing rate may correspond to the bpm of peak 620 (approximately 17 bpm).
[0067] According to some embodiments, thresholds may be applied to the BNR and / or peak plombogram values to help reduce the likelihood of false positives. That is, if the BNR of the subcarrier with the CSI containing the highest BNR value is below a threshold BNR value, and / or if the maximum amplitude value within the range of interest for the selected subcarrier is below a threshold amplitude value, the respiration rate determination process may conclude that no respiration was detected. This may mean that a breathing person was not present, or that a respiration rate could not be detected using a single subcarrier. In such instances, some embodiments may then utilize Algorithm 2: Multiple Subcarrier Respiration Rate Detection.
[0068] Figure 7 Is used according to the implementation scheme and Figure 4 Flowchart of method 700 for determining respiratory rate using multiple subcarriers corresponding to Algorithm 2. Figure 5 Similar to method 500, Figure 7 The method 700 may be performed by a user having two antennas and according to Figure 4 A receiving device (e.g., Figure 2A and Figure 2B The method 700 may be performed by software and / or hardware components of the receiving device 230. Figure 5 500. Specifically, according to some embodiments, method 700 may be performed in addition to or instead of method 500. In particular, according to some embodiments, method 700 may be performed if method 500 is unsuccessful in determining respiratory rate.
[0069] Similar to method 500, method 700 may begin with plomb determination, as indicated at block 710. However, here, the process may further involve subcarrier selection based on frequency analysis. Specifically, a comparison may be made with respect to the CSI of each subcarrier to determine whether the energy within the bpm range of interest is greater than the energy outside the range of interest. Such an example is Figure 8A and Figure 8B There are examples in .
[0070] Figure 8Ais a first graph 800-A illustrating a plomb plot of the CSI of the first subcarrier. According to Algorithm 2 (Multi-subcarrier Respiration Rate Determination), a subcarrier may be selected based on whether the energy within the range of interest exceeds the energy outside the range of interest. Figure 8A In the graph 800-A, the range of interest 810-A has some local peaks, but the region 820-A outside the range of interest 810-A has more energy. Because the energy in the range of interest 810-A is exceeded by the energy in the region 820-A, this first subcarrier is omitted and not further processed to determine the respiration rate. Omitting CSI for such subcarriers can help reduce the possibility of false positives. In cases like graph 800-A where the peak is below the range of interest 810-A, leakage (e.g., due to harmonics) can result, causing false peaks to appear in the range of interest 800-A. And therefore, omitting CSI for subcarriers with this characteristic can be beneficial when trying to identify values that produce actual movement from the plomb plot.
[0071] Figure 8B 800 -A is a second graph illustrating a plomb diagram of the CSI of the second subcarrier. Figure 8A By comparison, the energy within the range of interest 810-B exceeds the energy in the region 820-B outside the range of interest 810-B. Therefore, this second subcarrier is used for further processing to determine the respiration rate. (Similarly, although Figure 8A and Figure 8B The range of interest in the example extends from approximately 10 bpm to 50 bpm, but alternative embodiments may use a different range of ranges of interest.)
[0072] return Figure 7 Once the subcarriers are selected in block 710 (e.g., as described above, based on having more energy within the range of interest than outside the range of interest), the bpm values of multiple local maxima (also referred to herein as "peaks" or "peak values") within the range of interest of the CSI for each selected subcarrier may be recorded in an array, as indicated at block 720. Once this bpm information for all subcarriers is recorded, a histogram may be made from the resulting array, as indicated at block 730. At block 740, the method 700 includes finding the range with the maximum frequency count in the histogram, and then, at block 750, calculating the pattern of bpm values within the range as a respiration estimate. Figure 9A and Figure 9B Examples of these procedures are provided.
[0073] Figure 9A is a graph 910 of an example plomb plot of a subcarrier having a local maximum, the bpm value of which may be determined according to Figure 7 720 . In this example, the subcarrier has seven local maxima (peaks) 920 and 930 that exceed a threshold amplitude 940, wherein the threshold amplitude 940 comprises the minimum amplitude for recording into an array that is subsequently used to make a histogram. According to some embodiments, the bpm values for up to a threshold number of local maxima may be recorded. For example, in this embodiment, the threshold number may comprise 6, in which case the local maximum 930 (which is the seventh largest in amplitude) will not be recorded. In the event that fewer than the threshold number of local maxima exceed the threshold amplitude 940, the bpm values for all local maxima may be recorded. Figure 9A In the example of , the approximate bpm values that would be recorded into the array (corresponding to the six largest local maxima 920) would be 15, 17, 20, 26, 29, and 33 bpm.
[0074] The value of the threshold amplitude 940 and / or the threshold number of local maxima to be recorded can be determined heuristically based on the desired functionality. As noted, in some embodiments, the threshold number of local maxima to be recorded may include 6, while in other embodiments, the threshold may be different (4, 5, 7, 8, etc.). Additionally or alternatively, the threshold amplitude 940 may be a predetermined / static value or may be a dynamic value based on the peak values in the plomb plot. For example, in some embodiments, the threshold amplitude 940 may be set to 50% of the value of the largest local maximum in the plomb plot. Similarly, alternative embodiments may set the threshold to different values (e.g., 40%, 45%, 55%, 60%, etc.).
[0075] Figure 9B It can be based on Figure 7 730 . That is, the histogram is made from the bpm values of the local maxima (peaks) of all selected subcarriers, which bpm values may be recorded in an array as previously noted. Here, the histogram plots the frequency (e.g., the number of occurrences) of the recorded bpm values for various ranges within the range of interest. Similar to the other values of the range threshold described herein, the values of the ranges in the histogram of graph 950 (e.g., the minimum and maximum bpm values for each peak range plotted in the histogram) may be determined heuristically to balance considerations such as the desire for accuracy and the desire to exclude noise / false positives.
[0076] like Figure 7As indicated by the functionality of blocks 740 and 750, the determination of the respiratory rate is based on identifying the range with the highest frequency and then calculating the pattern of values within the identified range (e.g., bpm corresponding to the largest peak within the identified range). In this example, range 960 (from 16 to 20 bpm) has the highest frequency of bpm values. Calculating the pattern of bpm values for range 960 results in pattern 970 of approximately 18 bpm. This can then be used as the determined respiratory rate.
[0077] Similarly, a threshold value can be used to filter out possible false positives. For example, if the frequency of a range in the histogram fails to meet a threshold minimum frequency, the number of subcarriers whose energy in the range of interest exceeds the energy outside the rate of interest is below a threshold number, the local maximum in the plomb plot or all subcarriers fail to meet a minimum amplitude, or any combination of these conditions, then this may result in an indeterminate respiration rate determination. In such instances, some embodiments may attempt to determine the respiration rate using Algorithm 3, in which all subcarriers are used to determine the respiration rate.
[0078] Figure 10 is a flow chart of a method 1000 for determining a respiratory rate estimate. Figure 5 Method 500 and Figure 7 Similar to method 700, Figure 10 The method 1000 may be performed by having two antennas and according to Figure 4 A receiving device (e.g., Figure 2A and Figure 2B The method 1000 may be performed by software and / or hardware components of a receiving device 230. The method 1000 may be performed in addition to or as an alternative to methods 500 and 700. Specifically, according to some embodiments, the method 1000 may be performed if the method 700 is unsuccessful in determining the respiratory rate.
[0079] The functionality of block 1010 includes periodogram generation where the Doppler shift of all subcarriers within a range of interest can be determined. At block 1020, this Doppler information can be combined across all subcarriers into a single data set (e.g., a 2D plot). The Doppler shift due to respiration can then be found by identifying peaks in the combined Doppler information, as indicated at block 1030. The bpm corresponding to this Doppler shift can then be used as a respiration rate estimate, as indicated at block 1040. Such an example is shown in FIG. Figure 11A and Figure 11B There are examples in .
[0080] Figure 11Ais an example graph 1110 in which a periodogram of the power spectral density (PSD, e.g., using plomb) of Doppler shift in a range of interest, reflecting bpm, is plotted for all 128 subcarriers of an example transmission. Here, the Doppler information (e.g., at Figure 10 1010) is represented as intensities, where darker shading indicates stronger intensities. As can be seen, in this example, the CSI for most subcarriers shows a shift at approximately 17 bpm (identified by ellipse 1120). In practice, according to some embodiments, this information can be stored in a 2D matrix for processing.
[0081] Figure 11B It means that Figure 10 A graph 1150 of the combined PSD across all subcarriers corresponding to the combined Doppler information generated at block 1020 is shown. Figure 11B The information in the graph 1150 is the same as Figure 11A 110, including the sum of the intensities across all subcarriers in graph 1110. As can be seen, the sum of the intensity values in ellipse 1120 produces a peak 1160 in the PSD within the range of interest. As will be understood by one of ordinary skill in the art, the PSD across all subcarriers can be determined as:
[0082]
[0083] where psd(n,k) is the PSD normalized within [0,1] for the ‘n’th subcarrier and the ‘k’th frequency shift.
[0084] Figure 12A and Figure 12B is an example of how all subcarriers (e.g., Figure 4 Algorithm 3) is used to determine the respiratory rate curve. For example, Figure 12A is with Figure 11A Graph 1210 is a periodogram graph similar to graph 1110 . However, compared to graph 1110 , graph 1210 illustrates that breathing is detected for only a few subcarriers, as indicated by ellipse 1220 . Figure 12B is a graph 1250 showing the combined PSD summed across all subcarriers. As can be seen, although breathing is detected in only a few subcarriers within the ellipse 1220, a single dominant peak 1260 is generated at 17.5462 bpm. This bpm can be used as a proxy for the detected breathing rate (e.g., Figure 10 1040 of FIG. 10 ).
[0085] It may be noted that some implementations may employ additional techniques to identify respiration rate in the presence of multiple peaks in the combined PSD summed across all subcarriers. Figure 13A and Figure 13B An example is illustrated.
[0086] Figure 13A is with Figure 11A The graph 1110 and Figure 12A 1210 is a graph of a periodogram. However, in this example, there is no single bpm where the majority of the Doppler shift is detected. Instead, the Doppler shift is distributed over many different bpms. This may be the case, for example, in an environment where there is an object, such as a ceiling fan, that is moving periodically at a rate within the region of interest of human breathing. Figure 13B As illustrated, the corresponding graph 1350 has a plurality of peaks 1360, which indicates that Figure 13A The combined PSD of the values in the graph 1310 of is summed across all subcarriers. Some embodiments may further use a threshold 1370 that represents the minimum peak value of the combined PSD across all subcarriers. This may help filter out false positives. (Similar to the threshold value discussed previously, this value may be predetermined or may be a dynamic value (e.g., 50% of the maximum PSD peak value), according to some embodiments.) However, as Figure 13B As illustrated in the example of , there may still be many peaks 1360 above the threshold 1370.
[0087] According to some embodiments, the respiration rate may be determined by utilizing historical information from a combined PSD having multiple peaks (e.g., peak 1360) above a threshold (e.g., social value 1370). As previously indicated, some embodiments may determine the respiration rate at a certain frequency (e.g., per second). Thus, embodiments may maintain a log of recent respiration rate determinations. Thus, according to some embodiments, if the number of local maxima (peaks) in the combined PSD values for all subcarriers is greater than one, the respiration rate may be selected as the local maximum closest to the average or mean of the last X respiration rate determinations.
[0088] The value of X can be determined heuristically, as with other issues described herein. According to some embodiments, the value of X can be 5. In alternative embodiments, the value of X can be different (e.g., 2, 3, 4, 6, 7, 8, etc.). According to some embodiments, the value of X can depend on the rate at which the respiratory rate is determined. For example, if the respiratory rate is determined once per second, the value of X can be set to 5, since the human respiratory rate does not typically change abruptly within a 5-second period.
[0089] Figure 14is a flow chart illustrating a method 1400 of radio frequency (RF) sensing for respiratory rate determination according to one embodiment. Figure 1 Sample, Figure 14 are provided as non-limiting examples. Alternative embodiments may add, omit, rearrange and / or otherwise modify Figure 14 In some aspects, the method 1400 for determining respiratory rate may reflect a specific implementation of the embodiments described above. Furthermore, although the embodiments described above relate to detecting the respiratory rate of a human, the embodiments are not limited thereto. For example, the method 1400 may determine the respiratory rate of a non-human (e.g., a pet or other animal). Figure 14 One or more operations of the blocks illustrated in the example may be performed by a computer system such as a wireless device (e.g., a receiving device as described in the above embodiments) and / or a computer or other electronic device communicatively connected thereto (e.g., a server, a personal computer, or other device). Components of the example computing system are shown in FIG. Figure 15 exemplified in and described below.
[0090] The functionality at block 1410 includes obtaining CSI corresponding to each of the plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers. According to some embodiments, the set of RF transmissions may include Wi-Fi transmissions. Details regarding this functionality may depend on the device performing the functionality of block 1410. For example, a receiving device may obtain CSI by performing measurements (e.g., time of arrival (TOA) measurements) on the RF transmissions by a transmitting device. In some embodiments, a single-base configuration may be utilized, in which case obtaining CSI may include both transmitting and receiving RF signals. In some embodiments, a separate device (e.g., a server) may obtain CSI and perform a respiration rate determination. With respect to the plurality of subcarriers, this may correspond to all subcarriers in the RF transmission (e.g., 128 subcarriers for a Wi-Fi transmission) or a subset thereof.
[0091] The components for performing the functionality of block 1410 may include one or more processors 1510, a bus 1505, a working memory 1535 (which may include an operating system 1540 and / or one or more applications 1545), a communication subsystem 1530 (which may include a wireless communication interface 1533 and / or an RF sensing system 1534), and / or Figure 15 Other components of the computer system illustrated in and described below.
[0092] The functionality at block 1420 includes extracting phase information of CSI corresponding to each of a plurality of subcarriers over a period of time. Figure 3A and Figure 4 As illustrated in , obtaining CSI may include receiving CSI at a first antenna and a second antenna, and extracting phase information of the CSI may include multiplying the CSI received at the first antenna by the conjugate of the CSI received at the second antenna to obtain a result, and unwrapping the phase information from the result. Additionally or alternatively, the time period may vary depending on the desired functionality. In some embodiments, the time period may be 30 seconds. In alternative embodiments, the time period may be longer or shorter than this (e.g., 10 seconds, 20 seconds, 40 seconds, 50 seconds, one minute, etc.).
[0093] The components for performing the functionality of block 1420 may include one or more processors 1510, a bus 1505, a working memory 1535 (which may include an operating system 1540 and / or one or more applications 1545), a communication subsystem 1530 (which may include a wireless communication interface 1533 and / or an RF sensing system 1534), and / or Figure 15 Other components of the computer system illustrated in and described below.
[0094] The functionality at block 1430 includes determining, for each of a plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum including phase change values of the CSI corresponding to the corresponding subcarrier for a plurality of frequencies. As indicated in the above embodiments, determining the spectrum may include determining a plomb map (or equivalent data) indicating Doppler shift for various phase change rates.
[0095] The components for performing the functionality of block 1430 may include one or more processors 1510, a bus 1505, a working memory 1535 (which may include an operating system 1540 and / or one or more applications 1545), a communication subsystem 1530 (which may include a wireless communication interface 1533 and / or an RF sensing system 1534), and / or Figure 15 Other components of the computer system illustrated in and described below.
[0096] The functionality at block 1440 includes determining a respiration rate based on a spectrum of CSI corresponding to a set of subcarriers including one or more of the plurality of subcarriers, the respiration rate corresponding to a phase change value in the spectrum within a predetermined frequency range of the respiration rate. As noted herein, the predetermined frequency range of the respiration rate can correspond to a range of respiration rates for human respiration. The embodiments described herein use a predetermined range of 10 bpm to 50 bpm, but alternative embodiments may use a different range (e.g., having a lower limit of 7, 8, 9, 11, or 12 bpm, etc., and an upper limit of 40, 45, 55, or 60 bpm, etc.).
[0097] The components for performing the functionality of block 1440 may include one or more processors 1510, a bus 1505, a working memory 1535 (which may include an operating system 1540 and / or one or more applications 1545), a communication subsystem 1530 (which may include a wireless communication interface 1533 and / or an RF sensing system 1534), and / or Figure 15 Other components of the computer system illustrated in and described below.
[0098] As noted in the above embodiments, different algorithms may be used to determine the respiration rate based on different subcarriers. For example, according to some embodiments, the set of subcarriers may include a single subcarrier, and wherein the method further comprises: selecting the single subcarrier from the plurality of subcarriers based on a BNR of the single subcarrier, wherein the BNR of each subcarrier in the plurality of subcarriers comprises a ratio of energy within a predetermined range to the total energy of a spectrum of CSI corresponding to the respective subcarrier. In such embodiments, selecting the single subcarrier may be based on a determination that the single subcarrier has the highest BNR of all subcarriers in the plurality of subcarriers.
[0099] According to some embodiments, a subcarrier set may include a subset of two or more subcarriers from a plurality of subcarriers. Figure 8A and Figure 8B ), in such embodiments, the method may further include: selecting the subset at least in part by determining that, for each subcarrier in the subset, there is more energy within a predetermined range in the spectrum of the CSI corresponding to the respective subcarrier than outside the predetermined range. As noted, in such embodiments, determining the respiration rate may include: determining a histogram based on local maximum phase change values within a predetermined range of the spectrum of the CSI corresponding to the subcarriers in the subset; identifying a range within the histogram having a maximum number of local maximum phase change values; and determining the respiration rate as the pattern of local maximum phase change values within the identified range. As noted elsewhere herein, embodiments may record the maximum number of local maxima (peaks) in the phase change values to be used to create the histogram. Thus, according to some embodiments, determining the histogram based on the local maximum phase change values may include: for each subcarrier in the subset, using up to a predetermined number of local maximum phase change values within a predetermined range of the spectrum of the CSI corresponding to the respective subcarrier. As further noted, a minimum threshold may be used to filter out possible false positives. Thus according to some embodiments, for each subcarrier in the subset, a local maximum phase change value within a predetermined range of the frequency spectrum of the CSI corresponding to the respective subcarrier exceeds a minimum threshold.
[0100] According to some embodiments, the set of subcarriers may include all subcarriers in a plurality of subcarriers. As noted above, in such embodiments, determining the frequency spectrum of each subcarrier in the plurality of subcarriers may include determining a PSD for each subcarrier in the plurality of subcarriers, and determining the respiration rate based on the frequency spectrum may include determining the respiration rate as corresponding to a frequency of a local maximum of a sum of the PSDs of all subcarriers in the plurality of subcarriers within a predetermined range. In such embodiments, determining the respiration rate as corresponding to the frequency of the local maximum may include identifying a local maximum from a plurality of local maxima, such as corresponding to one or more previously determined respiration rates.
[0101] The functionality at box 1450 includes outputting an indication of the determined breathing rate. Depending on the desired functionality, the manner in which the indication of the determined breathing is output may vary. For example, according to some embodiments, outputting the indication may include providing the indication from one software layer of the electronic device to another software layer. Additionally or alternatively, outputting the indication of the determined breathing rate may include providing the indication from one software function or application to another software function or application. According to some embodiments, outputting the indication of the determined breathing rate may include transmitting the indication from one device to another device. Additionally or alternatively, outputting the indication of the determined breathing rate may include providing the indication via a user interface (e.g., a display, a speaker, etc.).
[0102] Components for performing the functionality of block 1450 may include one or more processors 1510, a bus 1505, a working memory 1535 (which may include an operating system 1540 and / or one or more applications 1545), a communication subsystem 1530 (which may include a wireless communication interface 1533 and / or an RF sensing system 1534), one or more output devices 1520, and / or Figure 15 Other components of the computer system illustrated in and described below.
[0103] Figure 15 is a block diagram of an embodiment of a computing system 1500. As noted, the computer system 1500 may be capable of executing Figure 14 The functionality of one or more of the operations illustrated in , and may include a receiving device (e.g., receiving an RF signal for RF sensing) and / or a device communicatively coupled thereto. It should be noted that Figure 15 It is intended only to provide a generalized illustration of the various components, any or all of which may be utilized as appropriate. Figure 15 Broadly illustrates how individual system elements can be implemented in a relatively separate or relatively more integrated manner. In addition, it can be noted that Figure 15The illustrated components may be localized on a single device and / or distributed among various networked devices that may be located at different physical locations.
[0104] The computing system 1500 is shown as including hardware elements that may be electrically coupled via a bus 1505 (or may be in communication in other appropriate ways). The hardware elements may include a processor 1510, which may include, but is not limited to, one or more general-purpose processors, one or more special-purpose processors (such as DSPs, graphics processing units (GPUs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), etc.), and / or other processing structures or processing units that may be configured to perform one or more of the methods described herein, including those related to Figure 14 The methods described and / or Figures 1 to 14 The computing system 1500 may also include one or more input devices 1515, which may include but are not limited to a mouse, keyboard, camera, microphone, touch screen, sensor, etc., or any combination thereof; and one or more output devices 1520, which may include but are not limited to a display device, speaker, etc., or any combination thereof.
[0105] The computing system 1500 may also include (and / or communicate with) one or more non-transitory storage devices 1525, which may include, but are not limited to, local and / or network-accessible storage devices, and / or may include, but are not limited to, disk drives, drive arrays, optical storage devices, solid-state storage devices (such as random access memory (RAM) and / or read-only memory (ROM)), which may be programmable, flash-updatable, etc. Such storage devices may be configured to implement any suitable data storage, including, but not limited to, various file systems, database structures, etc.
[0106] The computing system 1500 may also include a communication subsystem 1530, which may include support for wired communication technologies and / or wireless communication technologies (in some embodiments) managed and controlled by a wireless communication interface 1533. The communication subsystem 1530 may include a modem, a network card (wireless or wired), an infrared communication device, a wireless communication device and / or a chipset, etc. The communication subsystem 1530 may include one or more input and / or output communication interfaces, such as a wireless communication interface 1533, to allow data and signaling to be exchanged with a network, a mobile device, other computer systems and / or any other electronic device described herein. The RF sensing system 1534 may include dedicated circuits and / or other hardware and / or software components capable of performing RF sensing as described herein. According to some embodiments, the RF sensing system 1534 may be incorporated into the wireless communication interface 1533 (e.g., Figure 15), so that one or more Tx antennas and one or more Rx antennas of the wireless communication interface 1533 can be used for both RF sensing and data communication. For example, in some embodiments, the wireless communication interface 1533 may include an 802.11ad-compatible and / or 802.11ay-compatible modem capable of both RF sensing and data communication. More broadly, the wireless communication interface 1533 may include one or more transceivers having one or more radio devices capable of sending and receiving RF signals using a WLAN standard (e.g., IEEE 802.11 / Wi-Fi), and in addition to RF sensing, the wireless communication interface may also be used for WLAN communication. The RF signal may include a communication packet utilized by the WLAN standard. As previously described, the embodiments herein may make full use of existing technologies for channel estimation to obtain CSI for RF sensing. Additionally or alternatively, the wireless communication interface 1533 and / or the RF sensing system 1534 may include multiple antennas (e.g., an antenna array) capable of beamforming to achieve Tx and / or Rx beamforming as described herein.
[0107] As noted, some embodiments may have the RF sensing system 1534 not used for wireless communication. In such instances, the RF sensing system 1534 may be incorporated elsewhere within the computing system 1500. For example, in some embodiments, the RF sensing system 1534 may be incorporated into the computing system 1500 as an input device 1515. Other sensors may also be included as input devices 1515.
[0108] In many embodiments, the computing system 1500 will also include a working memory 1535, which may include RAM and / or ROM devices. The software elements shown as being located within the working memory 1535 may include an operating system 1540, device drivers, executable libraries, and / or other code (such as applications 1545), which may include computer programs provided by various embodiments and / or may be designed to implement methods provided by other embodiments and / or configure systems provided by other embodiments, as described herein. By way of example only, the methods discussed above, such as those described with respect to Figure 14 One or more of the processes described by the described method may be implemented as code and / or instructions stored (e.g., temporarily) in working memory 1535 and executable by a computer (and / or a processor within a computer, such as processor 1510); then, in one aspect, such code and / or instructions may be used to configure and / or adapt a general-purpose computer (or other device) to perform one or more operations in accordance with the described method.
[0109] The set of these instructions and / or codes may be stored on a non-transitory computer-readable storage medium (such as the storage device 1525 described above). In some cases, the storage medium may be incorporated into a computer system (such as the computing system 1500). In other embodiments, the storage medium may be separate from the computer system (e.g., removable media such as an optical disc) and / or may be provided in an installation package so that the storage medium can be used to program, configure, and / or adapt a general-purpose computer having the instructions / code stored thereon. The instructions may take the form of executable code that can be executed by the computing system 1500 and / or may take the form of source code and / or installable code that, after being compiled and / or installed on the computing system 1500 (e.g., using any of a variety of general-purpose compilers, installers, compression / decompression utilities, etc.), takes the form of executable code.
[0110] It will be apparent to those skilled in the art that basic modifications may be made to suit specific requirements. For example, customized hardware may be used, and / or specific elements may be implemented in hardware, software (including portable software such as applets), or both. Furthermore, connections to other computing devices such as network input / output devices may be employed.
[0111] With reference to the accompanying drawings, components that may include memory may include non-transitory machine-readable media. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any storage medium that participates in providing data that causes a machine to operate in a specific manner. In the embodiments provided above, various machine-readable media may be involved when providing instructions / codes to a processor and / or other device for execution. Additionally or alternatively, machine-readable media may be used to store and / or carry such instructions / codes. In many specific implementations, computer-readable media are physical and / or tangible storage media. Such media may take many forms, including but not limited to non-volatile media and volatile media. Common forms of computer-readable media include, for example: magnetic and / or optical media, any other physical media with a hole pattern, RAM, programmable ROM (PROM), erasable PROM (EPROM), FLASH-EPROM, any other memory chip or memory cartridge, or any other medium from which a computer can read instructions and / or code.
[0112] The methods, systems, and devices discussed herein are examples. Various embodiments may omit, substitute, or add various processes or components as appropriate. For example, features described for certain embodiments may be combined in various other embodiments. Different aspects and elements of the embodiments may be combined in a similar manner. The various components of the drawings provided herein may be embodied in hardware and / or software. In addition, technology may evolve, and therefore many elements are examples, which do not limit the scope of this disclosure to those specific examples.
[0113] It proves convenient at times, primarily for reasons of common usage, to refer to such signals as bits, information, values, elements, symbols, characters, variables, terms, numbers, digital symbols, and the like. It will be understood, however, that all of these or similar terms are to be associated with the appropriate physical quantities and are merely convenient labels. Unless otherwise specifically stated, as will be apparent from the foregoing discussion, it will be understood that throughout this specification, discussions utilizing terms such as "process," "calculate," "calculate," "determine," "ascertain," "identify," "correlate," "measure," "perform," and the like refer to the actions or processes of a specific apparatus, such as a special-purpose computer or similar special-purpose electronic computing device. Thus, in the context of this specification, a special-purpose computer or similar special-purpose electronic computing device is capable of manipulating or transforming signals, typically expressed as physical, electronic, electrical, or magnetic quantities, in a memory, register, or other information storage device, a transmitting device, or a display device of the special-purpose computer or similar special-purpose electronic computing device.
[0114] As used herein, the terms "and" and "or" may include multiple meanings that are also intended to depend at least in part on the context in which such terms are used. Generally, "or", if used in connection with a list, such as A, B, or C, is intended to mean A, B, and C (where used in an inclusive sense) as well as A, B, or C (where used in an exclusive sense). In addition, as used herein, the term "one or more" may be used to describe any feature, structure, or characteristic in the singular, or may be used to describe some combination of features, structures, or characteristics. However, it should be noted that this is merely an illustrative example, and the claimed subject matter is not limited to this example. In addition, the term "at least one of...", if used in connection with a list, such as A, B, or C, may be interpreted to mean any combination of A, B, and / or C, such as A, AB, AA, AAB, AABBCCC, etc.
[0115] Several embodiments have been described, and various modifications, alternative configurations, and equivalents may be used without departing from the scope of this disclosure. For example, the above elements may be merely components of a larger system, wherein other rules may take precedence over the application of the various embodiments or otherwise modify the application of the various embodiments. Additionally, multiple steps may be performed before, during, or after consideration of the above elements. Accordingly, the above description does not limit the scope of this disclosure.
[0116] In view of this description, various embodiments may include different combinations of features. Specific implementation examples are described in the following numbered clauses:
[0117] Clause 1. A method of radio frequency (RF) sensing for respiratory frequency determination, the method comprising: obtaining channel state information (CSI) corresponding to each of a plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers; extracting phase information of the CSI corresponding to each of the plurality of subcarriers over a time period; determining, for each of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum comprising phase change values of the CSI corresponding to the corresponding subcarrier for a plurality of frequencies; determining a respiratory rate based on the spectrum of the CSI corresponding to a set of subcarriers comprising one or more of the plurality of subcarriers, the respiratory rate corresponding to a phase change value in the spectrum within a predetermined frequency range of the respiratory rate; and outputting an indication of the determined respiratory rate.
[0118] Clause 2. The method of clause 1, wherein: obtaining the CSI comprises receiving the CSI at a first antenna and a second antenna, and extracting phase information of the CSI comprises determining a phase difference between the CSI received at the first antenna and the CSI received at the second antenna.
[0119] Clause 3. A method according to any one of clauses 1 to 2, wherein the set of subcarriers includes a single subcarrier, and wherein the method further comprises: selecting the single subcarrier from the multiple subcarriers based on a breathing noise ratio (BNR) of the single subcarrier, wherein the BNR of each subcarrier in the multiple subcarriers includes a ratio of energy within the predetermined range of the spectrum of the CSI corresponding to the corresponding subcarrier to the total energy.
[0120] Clause 4. The method of clause 3, wherein selecting the single subcarrier is based on a determination that the single subcarrier has a highest BNR of all subcarriers of the plurality of subcarriers.
[0121] Clause 5. A method according to any one of clauses 1 to 2, wherein the set of subcarriers comprises a subset of two or more subcarriers of the plurality of subcarriers, and wherein the method further comprises: selecting the subset at least in part by determining that for each subcarrier in the subset, there is more energy within the predetermined range than outside the predetermined range in the spectrum of the CSI corresponding to the corresponding subcarrier.
[0122] Clause 6. A method according to clause 5, wherein determining the breathing frequency comprises: determining a histogram based on local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the subcarriers in the subset; identifying the range within the histogram having the largest number of local maximum phase change values; and determining the breathing rate as a pattern of local maximum phase change values within the identified range.
[0123] Clause 7. A method according to clause 6, wherein determining a histogram based on local maximum phase change values comprises: for each subcarrier in the subset, using up to a predetermined number of local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the corresponding subcarrier.
[0124] Clause 8. A method according to any one of clauses 6 to 7, wherein, for each subcarrier in the subset, the local maximum phase change value within the predetermined range of the spectrum of the CSI corresponding to the corresponding subcarrier exceeds a minimum threshold.
[0125] Clause 9. A method according to any one of clauses 1 to 2, wherein the set of subcarriers includes all subcarriers in the plurality of subcarriers, and wherein: determining the spectrum of each subcarrier in the plurality of subcarriers includes determining the power spectral density (PSD) of each subcarrier in the plurality of subcarriers; and determining the breathing rate based on the spectrum includes determining the breathing rate as a frequency corresponding to a local maximum of the sum of the PSDs of all subcarriers in the plurality of subcarriers within the predetermined range.
[0126] Clause 10. The method of Clause 9, wherein determining the respiratory rate as corresponding to the frequency of the local maxima comprises identifying the local maximum from a plurality of local maxima as corresponding to one or more previously determined respiratory rates.
[0127] Clause 11. The method of any one of clauses 1 to 10, wherein the set of RF transmissions comprises Wi-Fi transmissions.
[0128] Item 12. A device comprising: a memory; and one or more processors communicatively coupled to the memory, wherein the one or more processors are configured to: obtain channel state information (CSI) corresponding to each of the multiple subcarriers in a set of RF transmissions comprising at least multiple subcarriers; extract phase information of the CSI corresponding to each of the multiple subcarriers over a time period; for each of the multiple subcarriers, determine a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum comprising phase change values of the CSI corresponding to the corresponding subcarrier for multiple frequencies; determine a respiration rate based on the spectrum of the CSI corresponding to a set of subcarriers comprising one or more of the multiple subcarriers, the respiration rate corresponding to a phase change value in the spectrum within a predetermined frequency range of the respiration rate; and output an indication of the determined respiration rate.
[0129] Clause 13. An apparatus according to clause 12, wherein: to obtain the CSI, the one or more processors are configured to obtain CSI received at a first antenna and a second antenna, and to extract phase information of the CSI, the one or more processors are configured to determine a phase difference between the CSI received at the first antenna and the CSI received at the second antenna.
[0130] Clause 14. An apparatus according to any one of clauses 12 to 13, wherein the set of subcarriers includes a single subcarrier, and wherein the one or more processors are configured to select the single subcarrier from the plurality of subcarriers based on a breathing noise ratio (BNR) of the single subcarrier, wherein the BNR of each subcarrier in the plurality of subcarriers includes a ratio of energy within the predetermined range of the spectrum of the CSI corresponding to the corresponding subcarrier to the total energy.
[0131] Clause 15. The apparatus of clause 14, wherein the one or more processors are configured to select the single subcarrier based on a determination that the single subcarrier has a highest BNR of all subcarriers of the plurality of subcarriers.
[0132] Clause 16. An apparatus according to any of clauses 12 to 13, wherein the set of subcarriers comprises a subset of two or more subcarriers of the plurality of subcarriers, and wherein the one or more processors are configured to select the subset at least in part by determining that, for each subcarrier in the subset, there is more energy within the predetermined range than outside the predetermined range in the spectrum of the CSI corresponding to the corresponding subcarrier.
[0133] Clause 17. An apparatus according to clause 16, wherein, in order to determine the breathing rate, the one or more processors are configured to: determine a histogram based on local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the subcarriers in the subset; identify the range with the largest number of local maximum phase change values within the histogram; and determine the breathing rate as a pattern of local maximum phase change values within the identified range.
[0134] Clause 18. An apparatus according to clause 17, wherein, in order to determine a histogram based on local maximum phase change values, the one or more processors are configured to: for each subcarrier in the subset, use up to a predetermined number of local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the corresponding subcarrier.
[0135] Clause 19. An apparatus according to any one of clauses 17 to 18, wherein, for each subcarrier in the subset, the local maximum phase change value within the predetermined range of the spectrum of the CSI corresponding to the respective subcarrier exceeds a minimum threshold.
[0136] Clause 20. An apparatus according to any one of clauses 12 to 13, wherein the set of subcarriers includes all subcarriers in the plurality of subcarriers, and wherein: in order to determine the spectrum of each subcarrier in the plurality of subcarriers, the one or more processors are configured to determine a power spectral density (PSD) of each subcarrier in the plurality of subcarriers; and in order to determine the breathing rate based on the spectrum, the one or more processors are configured to determine the breathing rate as corresponding to a frequency of a local maximum of the sum of the PSDs of all subcarriers in the plurality of subcarriers within the predetermined range.
[0137] Clause 21. An apparatus according to clause 20, wherein, in order to determine the respiratory rate as corresponding to the frequency of the local maximum, the one or more processors are configured to identify the local maximum from a plurality of local maxima as corresponding to one or more previously determined respiratory rates.
[0138] Clause 22. An apparatus for radio frequency (RF) sensing for respiratory frequency determination, the apparatus comprising: means for obtaining channel state information (CSI) corresponding to each of a plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers; extracting phase information of the CSI corresponding to each of the plurality of subcarriers over a time period; means for determining, for each of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum comprising phase change values of the CSI corresponding to the corresponding subcarrier for a plurality of frequencies; means for determining a respiratory rate based on the spectrum of the CSI corresponding to a set of subcarriers comprising one or more of the plurality of subcarriers, the respiratory rate corresponding to a phase change value in the spectrum within a predetermined frequency range of the respiratory rate; and means for outputting an indication of the determined respiratory rate.
[0139] Clause 23. An apparatus according to clause 23, wherein: the means for obtaining the CSI includes means for receiving the CSI at a first antenna and a second antenna, and the means for extracting phase information of the CSI includes means for determining a phase difference between the CSI received at the first antenna and the CSI received at the second antenna.
[0140] Clause 24. An apparatus according to any one of clauses 22 to 23, wherein the set of subcarriers includes a single subcarrier, and wherein the apparatus further comprises means for selecting the single subcarrier from the plurality of subcarriers based on a breathing noise ratio (BNR) of the single subcarrier, wherein the BNR of each subcarrier in the plurality of subcarriers comprises a ratio of energy within the predetermined range to the total energy of the spectrum relative to the CSI corresponding to the respective subcarrier.
[0141] Clause 25. An apparatus according to any of clauses 22 to 23, wherein the set of subcarriers comprises a subset of two or more subcarriers of the plurality of subcarriers, and wherein the apparatus further comprises means for selecting the subset at least in part by determining that, for each subcarrier in the subset, there is more energy within the predetermined range than outside the predetermined range in the spectrum of the CSI corresponding to the respective subcarrier.
[0142] Clause 26. An apparatus according to clause 25, wherein the means for determining the breathing frequency comprises: means for determining a histogram based on local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the subcarriers in the subset; means for identifying a range within the histogram having a maximum number of local maximum phase change values; and means for determining the breathing rate as a pattern of local maximum phase change values within the identified range.
[0143] Clause 27. An apparatus according to clause 26, wherein the means for determining a histogram based on local maximum phase change values includes means for using, for each subcarrier in the subset, up to a predetermined number of local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the corresponding subcarrier.
[0144] Clause 28. An apparatus according to any one of clauses 22 to 23, wherein the set of subcarriers includes all subcarriers in the plurality of subcarriers, and wherein: the means for determining the spectrum of each subcarrier in the plurality of subcarriers includes means for determining a power spectral density (PSD) of each subcarrier in the plurality of subcarriers; and the means for determining the respiration rate based on the spectrum includes means for determining the respiration rate as a frequency corresponding to a local maximum of the sum of the PSDs of all subcarriers in the plurality of subcarriers within the predetermined range.
[0145] Clause 29. An apparatus according to clause 28, wherein the means for determining the respiratory rate as corresponding to the frequency of the local maxima includes means for identifying the local maximum from a plurality of local maxima as corresponding to one or more previously determined respiratory rates.
[0146] Item 30. A non-transitory computer-readable medium storing instructions for radio frequency (RF) sensing for respiratory frequency determination, the instructions comprising code for: obtaining channel state information (CSI) corresponding to each of a plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers; extracting phase information of the CSI corresponding to each of the plurality of subcarriers over a time period; determining, for each of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum comprising phase change values of the CSI corresponding to the corresponding subcarrier for a plurality of frequencies; determining a respiratory rate based on the spectrum of the CSI corresponding to a set of subcarriers comprising one or more of the plurality of subcarriers, the respiratory rate corresponding to a phase change value in the spectrum within a predetermined frequency range of the respiratory rate; and outputting an indication of the determined respiratory rate.
Claims
1. A method of radio frequency (RF) sensing for respiratory rate determination, the method comprising: obtaining channel state information (CSI) corresponding to each of a plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers; Extracting phase information of the CSI corresponding to each subcarrier of the plurality of subcarriers within a time period; determining, for each subcarrier of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum including phase change values of the CSI corresponding to the corresponding subcarrier at multiple frequencies; determining a respiration rate based on the frequency spectrum of the CSI corresponding to a set of subcarriers including one or more subcarriers of the plurality of subcarriers, the respiration rate corresponding to a phase change value in the frequency spectrum within a predetermined frequency range of the respiration rate; as well as An indication of the determined breathing rate is output.
2. The method according to claim 1, wherein: Obtaining the CSI includes receiving the CSI at a first antenna and a second antenna, and extracting phase information of the CSI includes determining a phase difference between the CSI received at the first antenna and the CSI received at the second antenna.
3. The method of claim 1 , wherein the set of subcarriers comprises a single subcarrier, and wherein the method further comprises: The single subcarrier is selected from the plurality of subcarriers based on a breathing noise ratio (BNR) of the single subcarrier, wherein the BNR of each subcarrier in the plurality of subcarriers comprises a ratio of energy within the predetermined range to total energy of the frequency spectrum relative to the CSI corresponding to the corresponding subcarrier.
4. The method of claim 3, wherein selecting the single subcarrier is based on a determination that the single subcarrier has a highest BNR of all subcarriers of the plurality of subcarriers.
5. The method of claim 1 , wherein the set of subcarriers comprises a subset of two or more subcarriers of the plurality of subcarriers, and wherein the method further comprises: The subset is selected at least in part by determining that, for each subcarrier in the subset, there is more energy within the predetermined range than outside the predetermined range in the spectrum of the CSI corresponding to the respective subcarrier.
6. The method of claim 5, wherein determining the respiratory rate comprises: determining a histogram based on local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the subcarriers in the subset; identifying a range within the histogram having a greatest number of local maximum phase change values; and The respiration rate is determined as a pattern of local maximum phase change values within the identified range.
7. The method of claim 6 , wherein determining a histogram based on local maximum phase change values comprises: For each subcarrier in the subset, up to a predetermined number of local maximum phase change values within the predetermined range of the frequency spectrum of the CSI corresponding to the respective subcarrier are used.
8. The method of claim 6, wherein for each subcarrier in the subset, the local maximum phase change value within the predetermined range of the frequency spectrum of the CSI corresponding to the corresponding subcarrier exceeds a minimum threshold.
9. The method of claim 1 , wherein the set of subcarriers comprises all subcarriers of the plurality of subcarriers, and wherein: determining the frequency spectrum of each of the plurality of subcarriers comprises determining a power spectral density (PSD) of each of the plurality of subcarriers; and Determining the respiration rate from the frequency spectrum includes determining the respiration rate to correspond to a frequency of a local maximum of a sum of the PSDs of all subcarriers in the plurality of subcarriers within the predetermined range.
10. The method of claim 9, wherein determining the respiratory rate as corresponding to the frequency of the local maxima comprises identifying the local maximum from a plurality of local maxima as corresponding to one or more previously determined respiratory rates. The method of claim 1 , wherein the set of RF transmissions comprises Wi-Fi transmissions.
12. A device comprising: Memory; and one or more processors communicatively coupled to the memory, wherein the one or more processors are configured to: obtaining channel state information (CSI) corresponding to each of a plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers; Extracting phase information of the CSI corresponding to each subcarrier of the plurality of subcarriers within a time period; determining, for each subcarrier of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum including phase change values of the CSI corresponding to the corresponding subcarrier at multiple frequencies; determining a respiration rate based on the frequency spectrum of the CSI corresponding to a set of subcarriers including one or more subcarriers of the plurality of subcarriers, the respiration rate corresponding to a phase change value in the frequency spectrum within a predetermined frequency range of the respiration rate; as well as An indication of the determined breathing rate is output.
13. The apparatus of claim 12, wherein: To obtain the CSI, the one or more processors are configured to obtain CSI received at a first antenna and a second antenna, and To extract phase information of the CSI, the one or more processors are configured to determine a phase difference between the CSI received at the first antenna and the CSI received at the second antenna.
14. The apparatus of claim 12 , wherein the set of subcarriers comprises a single subcarrier, and wherein the one or more processors are configured to select the single subcarrier from the plurality of subcarriers based on a breathing noise ratio (BNR) of the single subcarrier, wherein the BNR of each subcarrier in the plurality of subcarriers comprises a ratio of energy within the predetermined range to total energy of the frequency spectrum relative to the CSI corresponding to the corresponding subcarrier.
15. The apparatus of claim 14, wherein the one or more processors are configured to select the single subcarrier based on a determination that the single subcarrier has a highest BNR of all subcarriers of the plurality of subcarriers.
16. The apparatus of claim 12 , wherein the set of subcarriers comprises a subset of two or more subcarriers of the plurality of subcarriers, and wherein the one or more processors are configured to select the subset at least in part by determining that, for each subcarrier in the subset, there is more energy within the predetermined range than outside the predetermined range in the spectrum of the CSI corresponding to the corresponding subcarrier.
17. The apparatus according to claim 16, wherein To determine the respiratory rate, the one or more processors are configured to: determining a histogram based on local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the subcarriers in the subset; identifying a range within the histogram having a greatest number of local maximum phase change values; and The respiration rate is determined as a pattern of local maximum phase change values within the identified range.
18. The apparatus according to claim 17, wherein To determine a histogram based on local maximum phase change values, the one or more processors are configured to, for each subcarrier in the subset, use up to a predetermined number of local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the corresponding subcarrier.
19. The apparatus according to claim 17, wherein For each subcarrier in the subset, the local maximum phase change value within the predetermined range of the frequency spectrum of the CSI corresponding to the corresponding subcarrier exceeds a minimum threshold.
20. The apparatus of claim 12, wherein the set of subcarriers includes all subcarriers of the plurality of subcarriers, and wherein: To determine the frequency spectrum of each of the plurality of subcarriers, the one or more processors are configured to determine a power spectral density (PSD) of each of the plurality of subcarriers; and To determine the respiration rate from the frequency spectrum, the one or more processors are configured to determine the respiration rate as corresponding to a frequency of a local maximum of a sum of the PSDs of all subcarriers in the plurality of subcarriers within the predetermined range.
21. The apparatus according to claim 20, wherein To determine the respiratory rate as corresponding to the frequency of the local maxima, the one or more processors are configured to identify the local maximum from a plurality of local maxima as corresponding to one or more previously determined respiratory rates.
22. An apparatus for radio frequency (RF) sensing for respiratory rate determination, the apparatus comprising: means for obtaining channel state information (CSI) corresponding to each of the plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers; Extracting phase information of the CSI corresponding to each subcarrier of the plurality of subcarriers within a time period; means for determining, for each subcarrier of the plurality of subcarriers, a frequency spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the frequency spectrum including phase change values of the CSI corresponding to the corresponding subcarrier for a plurality of frequencies; means for determining a respiration rate based on the frequency spectrum of the CSI corresponding to a set of subcarriers including one or more subcarriers of the plurality of subcarriers, the respiration rate corresponding to a phase change value in the frequency spectrum within a predetermined frequency range of the respiration rate; and Means for outputting an indication of the determined breathing rate.
23. The apparatus of claim 22, wherein: The means for obtaining the CSI includes means for receiving the CSI at a first antenna and a second antenna, and The means for extracting phase information of the CSI includes means for determining a phase difference between the CSI received at the first antenna and the CSI received at the second antenna.
24. The apparatus of claim 22 , wherein the set of subcarriers comprises a single subcarrier, and wherein the apparatus further comprises means for selecting the single subcarrier from the plurality of subcarriers based on a breathing noise ratio (BNR) of the single subcarrier, wherein the BNR of each subcarrier in the plurality of subcarriers comprises a ratio of energy within the predetermined range to total energy of the frequency spectrum relative to the CSI corresponding to the corresponding subcarrier.
25. The apparatus of claim 22, wherein the set of subcarriers comprises a subset of two or more subcarriers of the plurality of subcarriers, and wherein the apparatus further comprises means for selecting the subset at least in part by determining that, for each subcarrier in the subset, there is more energy within the predetermined range than outside the predetermined range in the spectrum of the CSI corresponding to the respective subcarrier.
26. The apparatus of claim 25, wherein the means for determining the respiratory rate comprises: means for determining a histogram based on local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the subcarriers in the subset; means for identifying a range within said histogram having a greatest number of local maximum phase change values; and Means for determining the respiration rate as a pattern of local maximum phase change values within the identified range.
27. The apparatus of claim 26 , wherein the means for determining a histogram based on local maximum phase change values comprises means for using, for each subcarrier in the subset, up to a predetermined number of local maximum phase change values within the predetermined range of the spectrum of the CSI corresponding to the corresponding subcarrier.
28. The apparatus of claim 22, wherein the set of subcarriers includes all subcarriers of the plurality of subcarriers, and wherein: The means for determining the frequency spectrum of each of the plurality of subcarriers comprises means for determining a power spectral density (PSD) of each of the plurality of subcarriers; and The means for determining the respiration rate from the frequency spectrum comprises means for determining the respiration rate as corresponding to a frequency of a local maximum of a sum of the PSDs of all subcarriers of the plurality of subcarriers within the predetermined range.
29. An apparatus according to claim 28, wherein the means for determining the respiratory rate as corresponding to the frequency of the local maxima includes means for identifying the local maximum from a plurality of local maxima as corresponding to one or more previously determined respiratory rates.
30. A non-transitory computer-readable medium storing instructions for radio frequency (RF) sensing for respiratory rate determination, the instructions comprising code for: obtaining channel state information (CSI) corresponding to each of a plurality of subcarriers in a set of RF transmissions comprising at least a plurality of subcarriers; Extracting phase information of the CSI corresponding to each subcarrier of the plurality of subcarriers within a time period; determining, for each subcarrier of the plurality of subcarriers, a spectrum based on the phase information of the CSI corresponding to the corresponding subcarrier, the spectrum including phase change values of the CSI corresponding to the corresponding subcarrier at multiple frequencies; determining a respiration rate based on the frequency spectrum of the CSI corresponding to a set of subcarriers including one or more subcarriers of the plurality of subcarriers, the respiration rate corresponding to a phase change value in the frequency spectrum within a predetermined frequency range of the respiration rate; as well as An indication of the determined breathing rate is output.