This disclosure relates generally to wireless communication systems. More specifically, this disclosure relates to multi-antenna WiFi-based breathing rate estimation.
Breathing rate of a person is a vital sign. The breathing rate of a person can be a parameter for realizing many technical use-cases. Beyond the use-cases of numerous health applications such as sleep quality detection, sleep apnea, asthma diagnosis etc., a parameter corresponding to the breathing rate of a person can also be used for detection of human presence and monitoring in home security. The increase in demand for such health-monitoring has also led to an expanding market for wearable devices (“wearables”). Although such wearables can accurately measure the breathing rate, they are often expensive, and can be intrusive and uncomfortable. Furthermore, wearables cannot be used for some use-cases such as in detection of human presence or home security monitoring. Correspondingly, there has been an increased interest recently in wireless breathing rate monitoring. In such solutions, there is a transmitter (TX) that periodically transmits a known wireless signal into a channel which includes the subject performing breathing. The receiver (RX) estimates the channel response from the received signal and then observes its temporal variation to predict the breathing rate of the subject, a task referred to as wireless sensing. In some methods, a monostatic RADAR is used both as the TX and as the RX estimating the channel. However, use of such specialized RADAR equipment requires an additional deployment of a RADAR system and may impose additional cost burdens especially in household scenarios.
This disclosure provides multi-antenna WiFi-based breathing rate estimation.
In one embodiment, a method for estimating a breathing rate based on multi-antenna WiFi signals is provided. the method includes receiving, by a transceiver that includes N receive (Rx) antennas, channel state information (CSI) frames among P CSI frames transmitted from M transmit (Tx) antennas of another electronic device. The method includes estimating, by a processor of an electronic device operably connected to the transceiver, a CSI from each of the received CSI frames as an available CSI estimate. The method includes identifying an impairment model to account for inclusion of one or more errors in an amplitude or a phase of an estimated CSI that is indexed by p and that corresponds to a p-th CSI frame among the P CSI frames. The method includes compensating, via the impairment model, for the one or more errors in the amplitude and the phase of P CSI estimates. Compensating for the one or more errors in the amplitude and the phase of the P CSI estimates includes performing at least one of: approximating a missing CSI estimate corresponding to a missing CSI frame among P CSI frames based on the available CSI estimates; determining at least one automatic gain control (AGC) gain value; or computing the one or more errors in the phase based on a weighted least-squares solution. The method includes estimating a breathing rate of a subject based on different spatial dimensions of the P compensated CSI estimates.
In another embodiment, an electronic device for estimating a breathing rate based on multi-antenna WiFi signals is provided. The electronic device includes a transceiver that includes N receive (Rx) antennas; and a processor operably connected to the transceiver. The processor is configured to receive channel state information (CSI) frames among P CSI frames transmitted from M transmit (Tx) antennas of another electronic device. The processor is configured to estimate a CSI from each of the received CSI frames as an available CSI estimate.
The processor is configured to identify an impairment model to account for inclusion of one or more errors in an amplitude or a phase of an estimated CSI that is indexed by p and that corresponds to a p-th CSI frame among the P CSI frames. The processor is configured to compensate, via the impairment model, for the one or more errors in the amplitude and the phase of P CSI estimates, wherein to compensate for the one or more errors in the amplitude and the phase of the P CSI estimates. The processor is further configured to perform at least one of: approximate a missing CSI estimate corresponding to a missing CSI frame among P CSI frames based on the available CSI estimates; determine at least one automatic gain control (AGC) gain value; or compute the one or more errors in the phase based on a weighted least-squares solution. The processor is configured to estimate a breathing rate of a subject based on different spatial dimensions of the P compensated CSI estimates.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
Before undertaking the DETAILED DESCRIPTION below, it may be advantageous to set forth definitions of certain words and phrases used throughout this patent document. The terms “transmit,” “receive,” and “communicate,” as well as derivatives thereof, encompass both direct and indirect communication. The terms “include” and “comprise,” as well as derivatives thereof, mean inclusion without limitation. The term “or” is inclusive, meaning and/or. The phrase “associated with,” as well as derivatives thereof, means to include, be included within, interconnect with, contain, be contained within, connect to or with, couple to or with, be communicable with, cooperate with, interleave, juxtapose, be proximate to, be bound to or with, have, have a property of, have a relationship to or with, or the like.
Moreover, various functions described below can be implemented or supported by one or more computer programs, each of which is formed from computer readable program code and embodied in a computer readable medium. The terms “application” and “program” refer to one or more computer programs, software components, sets of instructions, procedures, functions, objects, classes, instances, related data, or a portion thereof adapted for implementation in a suitable computer readable program code. The phrase “computer readable program code” includes any type of computer code, including source code, object code, and executable code. The phrase “computer readable medium” includes any type of medium capable of being accessed by a computer, such as read only memory (ROM), random access memory (RAM), a hard disk drive, a compact disc (CD), a digital video disc (DVD), or any other type of memory. A “non-transitory” computer readable medium excludes wired, wireless, optical, or other communication links that transport transitory electrical or other signals. A non-transitory computer readable medium includes media where data can be permanently stored and media where data can be stored and later overwritten, such as a rewritable optical disc or an erasable memory device.
As used here, terms and phrases such as “have,” “may have,” “include,” or “may include” a feature (like a number, function, operation, or component such as a part) indicate the existence of the feature and do not exclude the existence of other features. Also, as used here, the phrases “A or B,” “at least one of A and/or B,” or “one or more of A and/or B” may include all possible combinations of A and B. For example, “A or B,” “at least one of A and B,” and “at least one of A or B” may indicate all of (1) including at least one A, (2) including at least one B, or (3) including at least one A and at least one B. Further, as used here, the terms “first” and “second” may modify various components regardless of importance and do not limit the components. These terms are only used to distinguish one component from another. For example, a first user device and a second user device may indicate different user devices from each other, regardless of the order or importance of the devices. A first component may be denoted a second component and vice versa without departing from the scope of this disclosure.
It will be understood that, when an element (such as a first element) is referred to as being (operatively or communicatively) “coupled with/to” or “connected with/to” another element (such as a second element), it can be coupled or connected with/to the other element directly or via a third element. In contrast, it will be understood that, when an element (such as a first element) is referred to as being “directly coupled with/to” or “directly connected with/to” another element (such as a second element), no other element (such as a third element) intervenes between the element and the other element.
As used here, the phrase “configured (or set) to” may be interchangeably used with the phrases “suitable for,” “having the capacity to,” “designed to,” “adapted to,” “made to,” or “capable of” depending on the circumstances. The phrase “configured (or set) to” does not essentially mean “specifically designed in hardware to.” Rather, the phrase “configured to” may mean that a device can perform an operation together with another device or parts. For example, the phrase “processor configured (or set) to perform A, B, and C” may mean a generic-purpose processor (such as a CPU or application processor) that may perform the operations by executing one or more software programs stored in a memory device or a dedicated processor (such as an embedded processor) for performing the operations.
The terms and phrases as used here are provided merely to describe some embodiments of this disclosure but not to limit the scope of other embodiments of this disclosure. It is to be understood that the singular forms “a,” “an,” and “the” include plural references unless the context clearly dictates otherwise. All terms and phrases, including technical and scientific terms and phrases, used here have the same meanings as commonly understood by one of ordinary skill in the art to which the embodiments of this disclosure belong. It will be further understood that terms and phrases, such as those defined in commonly-used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined here. In some cases, the terms and phrases defined here may be interpreted to exclude embodiments of this disclosure.
Definitions for other certain words and phrases may be provided throughout this patent document. Those of ordinary skill in the art should understand that in many if not most instances, such definitions apply to prior as well as future uses of such defined words and phrases.
For a more complete understanding of the present disclosure and its advantages, reference is now made to the following description taken in conjunction with the accompanying drawings, in which like reference numerals represent like parts:
As introduced above, a RADAR system for wirelessly monitoring the breathing rate of a person imposes cost burdens onto a household that is required to obtain the RADAR equipment. In alternative methods, existing wireless architecture, such as commodity WiFi, is used for performing breathing rate detection, where time/frequency synchronization between TX and RX may not exist. In general, a household is already equipped with WiFi equipment, such as an access point (AP), and the WiFi-equipped household is not required to obtain additional equipment (for example, hardware for a RADAR system).
Due to the low cost and wide-scale deployment of commodity WiFi, such a commodity WiFi system is an attractive solution for estimation of a subject's breathing rate. As an example only, the subject is a person in the examples described in this disclosure, however, it is understood that the subject can be another breathing body in other examples. The WiFi systems are not error-free. Due to lack of synchronization between the WiFi transmitter and WiFi receiver, and due to the effects of automatic gain control (AGC), etc., the channel state information (CSI) obtained from such WiFi systems suffer from errors in amplitude and phase. Additionally, some packets can be missed by the WiFi receiver, and as a result the CSI may be unavailable to the WiFi receiver. These errors can degrade the accuracy of the estimation of the subject's breathing rate as detected and/or measured at the WiFi receiver. To overcome these problems, embodiments of this disclosure provide CSI pre-processing methods to remove such errors at the WiFi receiver. In addition, some modern WiFi devices are equipped with multiple antenna elements, and as a result, CSI from multiple antennas may be available at the WiFi receiver. Embodiments of this disclosure provide methods to combine the CSI from multiple antennas at the RX to accurately estimate the breathing rate of the subject.
As introduced above, in order to determine a subject's breathing rate vital sign, embodiments of this disclosure include methods to use CSI obtained from multi-antenna WiFi infrastructure for performing the breathing rate estimation. Embodiments of this disclosure develop a detailed system model (for example, a mathematical system model) that takes into consideration the errors in the CSI amplitude and the errors in the CSI phase. Embodiments of this disclosure provide a methodology for compensating for these amplitude and phase errors to “clean” (for example, reduce/remove errors from, and thereby reconstruct) the CSI. Embodiments of this disclosure provide several different methods for estimating the subject's breathing rate from the cleaned CSI (e.g., cleaned multi-antenna CSI). In particular, these methods utilize the different spatial dimensions of the cleaned CSI for estimating the breathing rate of a subject. The algorithms provided according to embodiments of this disclosure are then evaluated compared to data obtained from a real WiFi testing environment (e.g., WiFi test-bed) under several different scenarios. The testing results show a 50% reduction in both the estimation root-mean-squared-error and in the misdetection probability, in comparison to existing conventional solutions.
This disclosure provides methods to compensate (e.g., “clean”) multi-antenna WiFi CSI, and then use the compensated multi-antenna WiFi CSI for performing breathing rate estimation of a subject (e.g., a person breathing in a vicinity of the WiFi device). This breathing rate estimation can have numerous applications, such as monitoring biological signals of subject for medical purposes, detecting occupancy of a room, detecting number of subjects in a room, for generating intruder alarms, etc.
The wireless network 100 includes access points (APs) 101 and 103. The APs 101 and 103 communicate with at least one network 130, such as the Internet, a proprietary Internet Protocol (IP) network, or other data network. The AP 101 provides wireless access to the network 130 for a plurality of stations (STAs) 111-114 within a coverage area 120 of the AP 101. The APs 101-103 may communicate with each other and with the STAs 111-114 using WI-FI or other WLAN communication techniques.
Depending on the network type, other well-known terms may be used instead of “access point” or “AP,” such as “router” or “gateway.” For the sake of convenience, the term “AP” is used in this disclosure to refer to network infrastructure components that provide wireless access to remote terminals. In WLAN, given that the AP also contends for the wireless channel, the AP may also be referred to as a STA. Also, depending on the network type, other well-known terms may be used instead of “station” or “STA,” such as “mobile station,” “subscriber station,” “remote terminal,” “user equipment,” “wireless terminal,” or “user device.” For the sake of convenience, the terms “station” and “STA” are used in this disclosure to refer to remote wireless equipment that wirelessly accesses an AP or contends for a wireless channel in a WLAN, whether the STA is a mobile device (such as a mobile telephone or smartphone) or is normally considered a stationary device (such as a desktop computer, AP, media player, stationary sensor, television, etc.).
Dotted lines show the approximate extents of the coverage areas 120 and 125, which are shown as approximately circular for the purposes of illustration and explanation only. It should be clearly understood that the coverage areas associated with APs, such as the coverage areas 120 and 125, may have other shapes, including irregular shapes, depending upon the configuration of the APs and variations in the radio environment associated with natural and man-made obstructions.
As described in more detail below, one or more of the APs may include circuitry and/or programming for estimating a breathing rate based on multi-antenna WiFi signals in WLANs. Although
The AP 101 includes multiple antennas 204a-204n, multiple RF transceivers 209a-209n, transmit (TX) processing circuitry 214, and receive (RX) processing circuitry 219. The AP 101 also includes a controller/processor 224, a memory 229, and a backhaul or network interface 234. The RF transceivers 209a-209n receive, from the antennas 204a-204n, incoming RF signals, such as signals transmitted by STAs in the network 100. The RF transceivers 209a-209n down-convert the incoming RF signals to generate IF or baseband signals. The IF or baseband signals are sent to the RX processing circuitry 219, which generates processed baseband signals by filtering, decoding, and/or digitizing the baseband or IF signals. The RX processing circuitry 219 transmits the processed baseband signals to the controller/processor 224 for further processing.
The TX processing circuitry 214 receives analog or digital data (such as voice data, web data, e-mail, or interactive video game data) from the controller/processor 224. The TX processing circuitry 214 encodes, multiplexes, and/or digitizes the outgoing baseband data to generate processed baseband or IF signals. The RF transceivers 209a-209n receive the outgoing processed baseband or IF signals from the TX processing circuitry 214 and up-converts the baseband or IF signals to RF signals that are transmitted via the antennas 204a-204n.
The controller/processor 224 can include one or more processors or other processing devices that control the overall operation of the AP 101. For example, the controller/processor 224 could control the reception of forward channel signals and the transmission of reverse channel signals by the RF transceivers 209a-209n, the RX processing circuitry 219, and the TX processing circuitry 214 in accordance with well-known principles. The controller/processor 224 could support additional functions as well, such as more advanced wireless communication functions. For instance, the controller/processor 224 could support beam forming or directional routing operations in which outgoing signals from multiple antennas 204a-204n are weighted differently to effectively steer the outgoing signals in a desired direction. The controller/processor 224 could also support OFDMA operations in which outgoing signals are assigned to different subsets of subcarriers for different recipients (e.g., different STAs 111-114). Any of a wide variety of other functions could be supported in the AP 101 by the controller/processor 224 including estimating a breathing rate based on multi-antenna WiFi signals. In some embodiments, the controller/processor 224 includes at least one microprocessor or microcontroller. The controller/processor 224 is also capable of executing programs and other processes resident in the memory 229, such as an OS. The controller/processor 224 can move data into or out of the memory 229 as required by an executing process.
The controller/processor 224 is also coupled to the backhaul or network interface 234. The backhaul or network interface 234 allows the AP 101 to communicate with other devices or systems over a backhaul connection or over a network. The interface 234 could support communications over any suitable wired or wireless connection(s). For example, the interface 234 could allow the AP 101 to communicate over a wired or wireless local area network or over a wired or wireless connection to a larger network (such as the Internet). The interface 234 includes any suitable structure supporting communications over a wired or wireless connection, such as an Ethernet or RF transceiver. The memory 229 is coupled to the controller/processor 224. Part of the memory 229 could include a RAM, and another part of the memory 229 could include a Flash memory or other ROM.
As described in more detail below, the AP 101 may include circuitry and/or programming for estimating a breathing rate based on multi-antenna WiFi signals. Although
The STA 111 includes antenna(s) 205, a radio frequency (RF) transceiver 210, TX processing circuitry 215, a microphone 220, and receive (RX) processing circuitry 225. The STA 111 also includes a speaker 230, a controller/processor 240, an input/output (I/O) interface (IF) 245, a touchscreen 250, a display 255, and a memory 260. The memory 260 includes an operating system (OS) 261 and one or more applications 262.
The RF transceiver 210 receives, from the antenna(s) 205, an incoming RF signal transmitted by an AP of the network 100. The RF transceiver 210 down-converts the incoming RF signal to generate an intermediate frequency (IF) or baseband signal. The IF or baseband signal is sent to the RX processing circuitry 225, which generates a processed baseband signal by filtering, decoding, and/or digitizing the baseband or IF signal. The RX processing circuitry 225 transmits the processed baseband signal to the speaker 230 (such as for voice data) or to the controller/processor 240 for further processing (such as for web browsing data).
The TX processing circuitry 215 receives analog or digital voice data from the microphone 220 or other outgoing baseband data (such as web data, e-mail, or interactive video game data) from the controller/processor 240. The TX processing circuitry 215 encodes, multiplexes, and/or digitizes the outgoing baseband data to generate a processed baseband or IF signal. The RF transceiver 210 receives the outgoing processed baseband or IF signal from the TX processing circuitry 215 and up-converts the baseband or IF signal to an RF signal that is transmitted via the antenna(s) 205.
The controller/processor 240 can include one or more processors and execute the basic OS program 261 stored in the memory 260 in order to control the overall operation of the STA 111. In one such operation, the main controller/processor 240 controls the reception of forward channel signals and the transmission of reverse channel signals by the RF transceiver 210, the RX processing circuitry 225, and the TX processing circuitry 215 in accordance with well-known principles. The main controller/processor 240 can also include processing circuitry configured for estimating a breathing rate based on multi-antenna WiFi signals. In some embodiments, the controller/processor 240 includes at least one microprocessor or microcontroller.
The controller/processor 240 is also capable of executing other processes and programs resident in the memory 260, such as operations for estimating a breathing rate based on multi-antenna WiFi signals. The controller/processor 240 can move data into or out of the memory 260 as required by an executing process. In some embodiments, the controller/processor 240 is configured to execute a plurality of applications 262, such as applications for jointly estimating a breathing rate based on multi-antenna WiFi signals. The controller/processor 240 can operate the plurality of applications 262 based on the OS program 261 or in response to a signal received from an AP. The main controller/processor 240 is also coupled to the I/O interface 245, which provides STA 111 with the ability to connect to other devices such as laptop computers and handheld computers. The I/O interface 245 is the communication path between these accessories and the main controller 240.
The controller/processor 240 is also coupled to the touchscreen 250 and the display 255. The operator of the STA 111 can use the touchscreen 250 to enter data into the STA 111. The display 255 may be a liquid crystal display, light emitting diode display, or other display capable of rendering text and/or at least limited graphics, such as from web sites. The memory 260 is coupled to the controller/processor 240. Part of the memory 260 could include a random access memory (RAM), and another part of the memory 260 could include a Flash memory or other read-only memory (ROM).
Although
For simplicity, commodity Wi-Fi infrastructure can refer to the AP 301, the STA 311, or the system 300 that includes both the AP 301 and the STA 311. The commodity Wi-Fi infrastructure can be modern WiFi devices equipped with multiple antenna elements. Three main features of the commodity Wi-Fi infrastructure according to embodiments of this disclosure will be described, including the features of: (1) obtaining CSI from multi-antenna commodity Wi-Fi infrastructure to estimate a breathing rate of the subject 380 based on a system model that is configured to take account for one or more errors in CSI amplitude and one or more errors in the CSI phase; (2) compensating for the one or more errors in the CSI amplitude and the one or more errors in the CSI phase to reconstruct the CSI; and (3) estimating the subject's 380 breathing rate from the reconstructed multi-antenna CSI based on different spatial dimensions of the reconstructed CSI.
As an example, the subject 380, whose breathing rate fbr (in Hz) will be estimated, is in the vicinity of the STA 311. The subject 380 is relatively stationary or slowly-moving, for example, the subject can be lying on the floor 371 facing the ceiling 372.
In the scenario shown, AP 301 transmits to the STA 311 (as receiver) a signal 310_1 through 310_M, such as a CSI frame p, from each of the M Tx antennas. Some of the transmitted signals reflect off a stationary surface of object in the environment 370, such as a ceiling, wall, floor, or furniture. For example, the signal 310_1 transmitted by Tx antenna 3041 reflects off the ceiling 372; and the signal 310_2 transmitted by Tx antenna 3042 reflects off a wall 373. As a result, the STA 311 receives reflected signals 320_1 and 320_2, respectively. Some of the transmitted signals reflect off a moving surface of the subject 380 in the environment 370, such as the moving torso (i.e., chest) of a breathing person. For example, the signals 310_4 and 10_M transmitted by the AP 311 are incident upon the moving surface of the subject's 380 torso at an angle θ, relative to a surface plane 382 of the torso. As a result, the STA 311 receives reflected signals 320_4 and 320_M, respectively. The surface plane 382 of the subject's 380 torso can be parallel to the surface of the floor 371 when the subject lies flat on the floor 371. Some of the transmitted signals 310_3 are received by the STA 311 without being reflected at any surface.
Although
To enable estimation of the breath rate fbr of the subject 380, the transmitter may transmit a sequence of WiFi channel state information (CSI) acquisition frames 402, that are transmitted periodically at an interval of Trep seconds each. The sequence of WiFi CSI acquisition frames includes P CSI frames 402 having a frame index p in a range from 0 through P−1. For ease of explanation, the CSI frame p is the p-th CSI frame.
In one embodiment, each CSI frame 402 can contain a short training field (STF) 404 and multiple pilot symbols 406, one pilot symbol transmitted from each of the M TX antennas of the AP 301 to help the STA 311 obtain the CSI from each of the M TX antennas. For example, the first TX antenna 3041 transmits the first pilot symbol 4061, which is illustrated as long training field (LTF) 1. Similarly, the M-th TX antenna 304M transmits the M-th pilot symbol 406M (illustrated as LTF M). In one embodiment, these CSI frames 402 can be beacon frames or null data packets, and the transmission can be using orthogonal frequency division multiplexing (OFDM) over K sub-carriers indexed as: ={1, . . . , K}.
Using the received signal for each CSI frame p, the STA 311 obtains the corresponding MN×1 noisy CSI (from each TX antenna to each RX antenna) on sub-carrier k as a vectorized channel p,k. To avoid loss of generality, this disclosure describes a vectorization of the CSI where the z-th component of the MN×1 vector (i.e., [p,k]z) represents the CSI between the TX antenna: └z/N┘+1 and RX antenna: mod{z, N}+1.
At block 510, a trigger from a timer, external source or another CSI-based algorithm is used to trigger breathing rate estimation. To obtain an estimate the breathing rate of the subject 380, the receiver 311 may use the CSI estimates obtained from the previous P CSI frames: {0,k, 1,k, . . . , P−1,k|k∈}. However, firstly, due to the uncertainty of reception of frames, the CSI estimate obtained p,k for some frame p can be missing. At block 520, the interpolation for missing CSI frames is performed. Secondly, due to synchronization errors and hardware impairments, the obtained CSI can be noisy and/or erroneous. These errors are compensated out of the obtained CSI (at blocks 520-570) before the breathing signal is estimated (at block 580), particularly by executing the CSI pre-processing methods according to embodiments of the present disclosure to remove such errors at the receiver.
Now refer back to block 520. Sometimes, when the AP 301 transmits P CSI frames, the STA 311 fails to receive one or more of the P CSI frames transmitted, which are referred to as one or more missing CSI frames. From among the P CSI frames transmitted, the STA 311 successfully receives some of the CSI frames, which are referred to as received CSI frames. As part of performing channel estimation, the STA 311 estimates a CSI from each of the received CSI frames, and such CSI estimate is referred to as an available CSI estimate. That is, a received CSI frame is available to be processed through a channel estimation algorithm yielding the available CSI estimate.
Embodiments of this disclosure identifies (e.g., generates) an impairment model to account for (e.g., identify; measure; quantify) inclusion of errors in an amplitude or a phase of the estimated CSI that is indexed by p and that corresponds to a p-th CSI frame among the P CSI frames. The missing CSI frames cause some of the errors accounted for in the impairment model.
For any missing CSI frame indexed by p, the preceding and succeeding CSI frames for which CSI is available and that are closest to the missing CSI frame are determined as p=q1 and p=q2, respectfully. A preceding available CSI estimate q
p,k=q
p,k=q
p,k
=f(q
As an example scenario, if Frame 49 and Frame 52 are successfully received, but the missing CSI frames are Frame 50 and Frame 51, then the STA 311 has an available CSI estimate corresponding to each of Frame 49 and Frame 52, but the STA 311 does not have data available from the Frame 50 and Frame 51 to execute channel estimation. To approximate the missing CSI estimates corresponding to the missing Frames 49 and 50, the STA 311 can compute 50,k=f(49,k, 52,k) as first function and 51,k=f(49,k, 52,k) as a second function that is the same as or different from the first function, respectively.
At block 530, the compensation for the AGC gain error, timing offset error, and phase offset error for the CSI are performed to obtain the cleaned CSI. At block 540, outliers in the cleaned CSI are identified, removed, and interpolated. At block 550, the cleaned CSI can be used to further determine if a breathing rate estimation is required. If the determination at block 550 is a no, then the method 500 ends. If the determination at block 550 is a yes, then the method 500 proceeds to block 560. At block 560, the different spatial components of the cleaned CSI are identified, and their and their Doppler-delay or Doppler-frequency response are obtained. At block 570, based on the cleaned CSI, which of the multiple proposed algorithms to use for breathing rate estimation is determined. At block 580, the determined algorithm for breathing rate estimation is run to generate the breathing estimate. Finally, at block 590, additional steps may be run on the breathing estimate, such as feeding to a tracking algorithm, using as prior information for next iterations of the estimation, determining if the breathing estimation process needs to be terminated etc.
p=gp⊙p,kej(2πf
In this impairment model, p denotes the uncompensated (e.g., including the impact of impairments; raw; unprocessed) CSI estimated from the p-th CSI frame. This uncompensated CSI p can be represented mathematically in the form of a channel matrix. The term p,k denotes the true (i.e., without impact of impairments) MN×1 CSI on the k-th sub-carrier of the p-th CSI frame between the TX and the RX. The term HPK can be expressed according to Equation 5, where the term k denotes the static component of the CSI; and the term Dp,k denotes the dynamic component of the CSI.
p,k=k+Dp,k (5)
The term gp is an MN×1 real vector representing the gain from the automatic gain control circuit at the receiver 311. The operator ⊙ denotes the element-wise product of two vectors (also called Hadamard product). The term Δτp denotes the timing synchronization offset at the receiver 311 for the p-th CSI frame p. The term fk denotes the frequency-offset of the k-th subcarrier from the carrier frequency. The term ψp denotes the carrier phase-offset of the receiver 311 for CSI frame p. In some embodiments, for correcting the errors the impairment model is based on an assumption that the true CSI is quasi-static over time, as expressed in Equation 6.
0,k≈1,k≈ . . . ≈P−1,k for any k∈ (6)
Particularly,
The majority of the surfaces in many environments are stationary surfaces, such as in the indoor environment 370 shown in
Due to the quasi-static nature of the channel and/or CSI, it can be expected that for any antenna pair m that the CSI power for the true channel, as expressed according to Equation 7, is constant over the period of time 0≤p≤P−1 during which P CSI frames 402 are transmitted.
Correspondingly, in one embodiment, for each antenna pair 1≤m≤MN, a clustering algorithm can be executed on the values of CSI power {Γp,m|0≤p≤P−1} to identify the clusters corresponding to different AGC gain values. For the particular antenna pair m, the number of clusters identified is denoted as W, with each cluster indexed by w. Examples of the clustering algorithm include DB-scan clustering or K-means clustering. For each identified cluster, the average value (e.g., median or mean) of a square-root (√{square root over (Γp,m)}) of each measured CSI power value within the cluster can be used as the estimated AGC gain term [ĝp]m. For each antenna pair m, the CSI with the AGC gain compensated can then be obtained as expressed in Equation 8:
[p,k]m=[p,k]m/[ĝp]m (8)
The clustering histogram 800 shows three clusters (W=3) including a first cluster 802 (Cluster 1) having a first median value 804 (Median −1), a second cluster 806 having a second median value 808, and a third cluster 810 (Cluster 3) having a third median value 812.
In another embodiment, a determination is made whether to compensate for the one or more errors in the amplitude of the respective CSI frame that is indexed by p among P CSI frames. To make this determination, a sequential methodology can be executed, where if |Γp,m−Γp−1,m|≥Threshold, then we obtain (e.g., generate) the ACG gain-compensated CSI as expressed in Equation 9. That is, this determination is based on whether a difference between CSI power values measured for consecutive CSI frames is exceeded by a threshold value.
Due to the quasi-static nature of the channel and/or CSI, it can be expected that the true CSI is approximately equivalent to the static component of the CSI (i.e., p,k≈k) over the period of time 0≤p≤P−1 during which P CSI frames 402 are transmitted. Correspondingly in one embodiment, for a given k as the static component of the CSI, the timing error Δτp and phase-error ψp for any CSI frame p can be computed as expressed in Equations 10 and 11, respectively. The term T denotes a search range for the value of . The term k denotes an estimate of the static component k of the CSI. This method may utilize an apriori estimate k of k.
In another embodiment, for given estimate of the static component k, the timing error Δτp and phase-error ψp for any CSI frame p can be computed as solution of the weighted least-squares problem shown in Equation 12. This embodiment may utilize an apriori estimate k of k.
The function [.] is a phase unwrapping function that ensures that the phase-difference for adjacent sub-carriers is less than π, as shown in Equation 13:
|[angle{p,k†k}]−[angle{p,k−1†k−1}]|≤π (13)
Correspondingly the CSI after phase and timing error compensation is referred to as the compensated (“cleaned”) CSI can be obtained as expressed in Equation 14:
p,k= (14)
In some embodiments, the estimate k of the static component of CSI can be expressed as a MN×1 all-one vector: MN. In another embodiment, the estimate k of the static component of CSI can be expressed according to Equation 15.
k=|p,k|/K (15)
In yet another embodiment, the estimate k of the static component of CSI can be expressed according to Equation 16, namely, the estimate k of the static component from the previous estimation round.
k=Σq=−P−1q,k/P (16)
In yet another embodiment, the estimation of , may be performed chronologically from the CSI frame p=0 to CSI frame p=P−1. To estimate , for any p, the value of k to use can be obtained as expressed in Equation 17:
k=Σq=0p−1q,k/p (17)
In some embodiments, after obtaining the compensated (“cleaned”) CSI p,k for all the p sequentially, the estimate k of the static component is fixed as expressed in Equation 18, and a second iteration of re-estimating , for all p=1, . . . , P−1 with this updated value of k is executed.
k=Σp=0P−1p,k/P (18)
The above-described procedure of compensating the CSI for the timing and phase errors involves a joint timing and phase correction method, where all the MN antenna dimensions are jointly compensated (“cleaned”) of the CSI timing and phase-errors. In another embodiment, the same process of compensating the CSI for the timing and phase errors can be used but the timing and phase errors can be estimated and corrected independently for each antenna dimension.
Some CSI samples (e.g., compensated CSI estimate) p,k may still be too corrupted after completing the following three compensations: (1) approximating missing CSI estimates; (2) AGC gain error compensation; (3) Phase error and timing error compensation(s). Using such CSI samples can degrade breathing rate performance. The fact that CSI is quasi-static can be used to identify such CSI samples that are still too corrupted. For example, in one embodiment, after completing the above-listed three compensations, the metric expressed in Equation 19 can be utilized as an identifier of the corrupted CSI samples. A corrupted CSI frame p is identified based on a determination that the comparison in Equation 19 is TRUE.
|p,k−k∥2≥Outlierthreshold×(∥k∥2), where k=p=0P−1p,k/P. (19)
Such a corrupted CSI frame p can be replaced by the previous CSI frame, as expressed in Equation 20. In another embodiment, an interpolation of the previous and succeeding CSI frames can also be used to replace the corrupted CSI frame, which is a similar procedure as block 520.
p,k=p−1,k. (20)
In certain embodiments, a corrupted CSI estimate is detected based on a comparison of the magnitude of the gain-compensated CSI estimate |p,k| to the mean of magnitude of the P gain-compensated CSI estimates expressed as k=|p,k|/P. The comparison includes determining whether a sum (across sub-carriers k) of the squared error between |p,k| and k is greater than an outlier threshold. In such embodiments, the receiver can be configured to: identify a magnitude of an AGC gain-compensated CSI estimate (|p,k|) corresponding to each of the P CSI estimates; identify a mean of magnitude of the P AGC gain-compensated CSI estimates expressed as k=|p,k|/P; detect a corrupted CSI estimate based on a determination that a comparison is TRUE, wherein the comparison includes determining whether, for each of K sub-carriers indexed by k, a sum of a squared error between the |p,k| and the k is greater than an outlier threshold; and replace the corrupted CSI frame within the P compensated CSI estimates.
Sometimes the compensated CSI estimate p,k is in an ideal condition after completing the following three compensations: (1) approximating missing CSI estimates; (2) AGC gain error compensation; (3) Phase error and timing error compensation(s).
p,k=k+α0a0e−j2πf
p,k
≈−j2πfc
The breathing signal of the subject 380 is distributed across all subcarriers k and time samples p, and power of the MPC We can be focused upon and isolated by converting from (time,freq)-domain to (Doppler-delay)-domain. More particularly, the ideal compensated CSI 1400 is based on an assumption that the dynamic component includes the breathing rate of the subject 380, and the sinusoidal breathing signal can be expressed according to Equation 23.
sin(2πfbrpTrep+ϕ) (23)
To demonstrate an impact of residual impairments,
Small residual impairments can still remain in some CSI samples (e.g., compensated CSI estimate) p,k even after completing the following three compensations: (1) approximating missing CSI estimates; (2) AGC gain error compensation; (3) phase error and timing error compensation(s). On example of these small residual impairments is a MN×1 residual AGC gain error denoted as
p,k=(1MN×1+
Rotating the compensated CSI estimate p,k, in the case of multiple Tx antenna and multiple Rx antennas, ensures that the small residual impairments
Without loss of generality, the MN×1 “true” CSI (i.e., without impact of impairments) on the k-th sub-carrier of the p-th CSI frame between the TX and the RX can be represented according to Equation 25. The channel has L MPCs. Each MPC includes a time-varying amplitude αl(p), and MN×1 array response vector al(p), and a delay τl(p). The term fk denotes the frequency offset of the k-th subcarrier from the carrier frequency, and the term fc denotes the carrier frequency.
p,k=Σl=1Lαl(p)al(p)e−j2π(f
Furthermore, without loss of generality, it can be assumed that MPC 0 represents the signal path from the AP 301 to the STA 311, that is reflected from the subject's 308 torso. For this MPC 0, due to the movement of the subject's torso, a model of the temporal variation in the MPC amplitude can be expressed as: α0(p)=α0, and the array response can be expressed as: a0(p)=a0. The MPC delay can be expressed according to Equation 26, where τ0 denotes the mean path delay,
τ0(p)=τ0+
Implicitly, the MPC amplitude and array response are assumed to be unaffected by the subject's 380 breathing while the delay is assumed to have a periodic sinusoidal variation, whose frequency is the breathing rate fbr. Based on an assumption that the static component k of the CSI does not vary with the breathing, the compensated p,k can be modeled as shown in Equation 27, where
p,k=k+
By multiplying with the phase-angle estimate of the static component k, the compensated CSI can further be expressed according to Equation 28:
p,k=p,k⊙≈|k|+
In one embodiment, the Fourier transform along the p-dimension and inverse-Fourier transform along k-dimension can be taken to obtain the Doppler-delay CSI as shown in Equation 29 and as shown in
Using this Doppler-delay CSI ĥ(v, u) of Equation 29 (above), the breathing rate can be estimated using one or more different algorithms. For convenience, the following definitions are provided in Equations 30 and 31:
Without loss of generality, a set of feasible delay bins 0 and Doppler bins 0 that are candidates for the MPC-0 that contains the breathing signal can also be considering. In one embodiment, these feasible bins 0 and 0 can be obtained from side information. As an example, the side information can be previous estimates of breathing rate and delay bin obtained.
In the embodiment of Algorithm 1, the estimate of the breathing rate can be obtained as: {circumflex over (f)}br=v0/(P Trep), where:
In the embodiment of Algorithm 2, the estimate of the breathing rate can be obtained as: {circumflex over (f)}br=v0/(P Trep), where:
In the embodiment of Algorithm 3, the estimate of the breathing rate can be obtained as: {circumflex over (f)}br=v0/(P Trep), where:
In more general, the different spatial dimensions of ĥ(v, u) can be optimally utilized to obtain the breathing rate. Note that we split ĥ(v, u) into 3 components:
From the analysis, component ĥ1)(v, u) is affected by the residual AGC gain error
In the embodiment of Algorithm 4, the estimate of the breathing rate can be obtained as: {circumflex over (f)}br=v0/(P Trep), where:
The terms w1, w3, w4 are weights assigned to the three components. A similar to embodiment of Algorithm 2, this embodiment of Algorithm 4 enables use of
instead of (.).
In the embodiment of Algorithm 5, the estimate of the breathing rate can be obtained as: {circumflex over (f)}br=v0/(P Trep), where:
The terms w1, w3, w4 are weights assigned to the three components.
In the embodiment of Algorithm 6, the estimate of the breathing rate can be obtained as: {circumflex over (f)}br=v0/(P Trep), where:
and w3, w4 are weights assigned to the two components.
In the embodiment of Algorithm 7, the estimate of the breathing rate can be obtained as: {circumflex over (f)}br=v0/(P Trep), where:
In the embodiment of Algorithm 8, the components of CSI: ĥ(1)(v, u), ĥ(3)(v, u), ĥ(4)(v, u) can be extracted and fed as inputs to a neural network to generate as an output either {circumflex over (f)}br or v0. The neural network can then be trained to perform the regression task of estimating the true breathing rate fbr or v0 as the output. For training the network, a large ‘labelled’ data set can be collected for CSI of subjects, where the ground truth label fbr can be obtained using, for example, by attaching a respiration force belt to the subject in each data sample. Regularization of the CSI can be expressed according to Equation 59, which regularization can be performed before computing the 3 components ĥ(1)(v, u), ĥ(3)(v, u), ĥ(4)(v, u) to feed as input to the neural network.
In some embodiments the receiver 311 may have an algorithmic logic to determine (e.g., select) which of the multiple algorithm options described above to use for breathing rate estimation. For example, such a selection can be based on the level of residual AGC gain error and residual phase error in the compensated CSI, which can be either pre-configured values or can be values calculated from the statistics of the compensated CSI {0,k, . . . , P−1,k}.
In some embodiments the estimated breathing rate {circumflex over (f)}br, Doppler bin v0, and or delay bin u0 can be input into another tracking algorithm, such as a Kalman filter, for further error reduction. In one embodiment the estimate of {circumflex over (f)}br, v0, u0 can also be saved and used as a priori side-information for future breathing rate estimation iterations. In one embodiment, the confidence in these estimates can also be used to trigger stopping of future iterations of the breathing rate estimation process.
At block 1802, the processor 240 triggers CSI-based breathing rate estimation. The procedure performed at block 1802 can be the same as the procedure of block 510 of
At block 1804, the processor 240 receive channel state information (CSI) frames among P CSI frames transmitted from M transmit (Tx) antennas of another electronic device. For example, the STA 311 receives unprocessed CSI transmitted from the AP 301. The processor 240 is operably connected to a transceiver of the electronic device. In certain embodiments, a multi-antenna STA 311 receives a sequence of P CSI frames 402 transmitted from a multi-antenna AP 301, such that M>1 and N>1. In other embodiments, a multi-antenna STA 311 receives a sequence of P CSI frames 402 transmitted from a transmitter that has single antenna, such that M=1 and N>1. In yet another embodiment, a single antenna STA 311 receives a sequence of P CSI frames 402 transmitted from a transmitter that has a single antenna, such that M=N−1.
At block 1806, the processor identifies an impairment model to account for inclusion of one or more errors in an amplitude or a phase of an estimated CSI that is indexed by p and that corresponds to a p-th CSI frame among the P CSI frames. In some embodiments, to identify the impairment model, the processor 240 identifies the impairment model that includes a combination of static component and a dynamic component, based on an assumption that the dynamic component includes the breathing rate of the subject 380.
At block 1810, the processor 240 compensates, via the impairment model, for the one or more errors in the amplitude and the phase of P CSI estimates. To compensate for the one or more errors in the amplitude and the phase of the P CSI estimates, the processor 240 executes a procedure of at least one of: block 1812, block 1814, or block 1816.
At block 1812, the processor 240 approximates a missing CSI estimate corresponding to a missing CSI frame among P CSI frames based on the available CSI estimates. This approximation compensates for a missing CSI Frame. Embodiments of this disclosure determine the missing CSI estimate corresponding to the missing CSI frame based on a function of multiple available CSI estimates including the preceding and the succeeding available CSI frames. In some embodiments, the processor determines the missing CSI estimate corresponding to the missing CSI frame as equivalent to a preceding available CSI estimate corresponding to a preceding CSI frame that is closest to the missing CSI frame. In some embodiments, the processor determines the missing CSI estimate corresponding to the missing CSI frame as equivalent to a succeeding available CSI estimate corresponding to a succeeding CSI frame that is closest to the missing CSI frame.
At block 1814, the processor 240 determine at least one automatic gain control (AGC) gain value. To determine the at least one AGC gain value, for each of the P CSI estimates, the processor 240 measures a CSI power value for each of MN antenna pairs. The MN antenna pairs are composed from the N Rx antennas respectively paired with each of the M Tx antennas, and each of the MN antenna pairs is indexed by m. For each antenna pair m among the MN antenna pairs, the processor 240 applies a clustering algorithm to the measured CSI power values to identify clusters, thereby identifying W clusters for the antenna pair m. For each of the W clusters identified for the antenna pair m, the processor 240 determines a square-root (√{square root over (Γp,m)}) of each measured CSI power value within the cluster, and determines an average value of the determined square roots as an AGC gain value ([ĝp]m) corresponding to the cluster. To generate an AGC gain-compensated CSI ([p,k]m), the processor 240 divides a CSI estimate ([p,k]m)corresponding to the m-the antenna pair by the AGC gain value ([ĝp]m) corresponding to the cluster.
In some embodiments, to generate an AGC gain-compensated CSI ([p,k]m) for each of the P CSI estimates, the processor 240 measures a CSI power value (Γp,m) for each of MN antenna pairs. for each antenna pair m among the MN antenna pairs, determine to compensate for the one or more errors in the amplitude of the respective CSI estimate that is indexed by p among P CSI estimates, based on a determination that a difference between CSI power values measured for consecutive CSI estimates is not exceeded by a threshold value (i.e., |Γp,m−Γp−1,m|≥Threshold is TRUE). The processor 240 compensates for the one or more errors in the amplitude of the respective CSI frame caused by AGC gain by generating an AGC gain-compensated channel model ([p,k]m) that is expressed as Equation 9.
In certain embodiments, the processor detects a corrupted CSI estimate based on an outlier threshold and a function of P compensated CSI estimates. The processor 240 removes and/or replaces the corrupted CSI frame (e.g., corrupted CSI sample) within the P compensated CSI estimates.
At block 1816, the processor 240 compute the one or more errors in the phase based on a weighted least-squares solution. More particularly, the processor 240 computes a timing error and the one or more errors in the phase for the p-th CSI estimate as the weighted least-squares solution based on an estimate of a static component of the p-th CSI estimate.
At block 1820, the processor 240 determines whether to perform breathing estimation. In response to a determination to perform breathing estimation, the method proceeds to block 1830.
At block 1830, the processor estimates a breathing rate (fbr) of a subject 380 based on different spatial dimensions of the P compensated CSI estimates. Block 1830 includes block 1832, 1834, and 1836.
At block 1832, the processor 240 defines different spatial dimensions of the Doppler-delay transformation of the compensated CSI represents the different spatial dimensions of the P compensated CSI estimates. For example, as shown in provided in Equations 30 and 31. In some embodiments, the processor 240 splits the Doppler-delay CSI into different components (e.g., ĥ(1)(v, u) and ĥ(3)(v, u) and ĥ(4)(v, u)) that respectively correspond to different spatial sub-dimensions. The different spatial sub-dimensions include: a first spatial sub-dimension in which a first component of the Doppler-delay CSI is affected by a residual AGC gain error and is resilient to a residual phase error; a second spatial sub-dimension in which a second component of the Doppler-delay CSI is affected by the residual phase error and is resilient to the residual AGC gain error; and a third spatial sub-dimension in which a third component of the Doppler-delay CSI is resilient to both the residual AGC gain error and the residual phase error.
At block 1834, the processor 240 selects a breathing rate algorithm from among a plurality of algorithms (e.g., Algorithms 1-8) for estimating the breathing rate, based on a Doppler-delay transformation of the compensated CSI expressed as ĥ(v, u). Here, v represents Doppler frequency bin index, and u represents a delay bin index.
At block 1836, the processor 240 generates the breathing rate estimate fbr using the spatial components of the CSI and the selected algorithm for estimating the breathing rate. In certain embodiments, to execute the selected breathing rate algorithm, the processor 240 combines signals in each of the first, second, and third spatial sub-dimensions to reduce an impact of the residual AGC gain error and the residual phase error on the estimated breathing rate. In certain embodiments, to execute the selected breathing rate algorithm, the processor 240 identifies different components of the Doppler-delay transformation of the compensated CSI, and assign weights to each of the different components of the Doppler-delay transformation of the compensated CSI.
Although
The above flowcharts illustrate example methods that can be implemented in accordance with the principles of the present disclosure and various changes could be made to the methods illustrated in the flowcharts herein. For example, while shown as a series of steps, various steps in each figure could overlap, occur in parallel, occur in a different order, or occur multiple times. In another example, steps may be omitted or replaced by other steps.
Although the figures illustrate different examples of user equipment, various changes may be made to the figures. For example, the user equipment can include any number of each component in any suitable arrangement. In general, the figures do not limit the scope of this disclosure to any particular configuration(s). Moreover, while figures illustrate operational environments in which various user equipment features disclosed in this patent document can be used, these features can be used in any other suitable system.
Although the present disclosure has been described with exemplary embodiments, various changes and modifications may be suggested to one skilled in the art. It is intended that the present disclosure encompass such changes and modifications as fall within the scope of the appended claims. None of the description in this application should be read as implying that any particular element, step, or function is an essential element that must be included in the claims scope. The scope of patented subject matter is defined by the claims.
This application claims priority under 35 U.S.C. § 119(e) to U.S. Provisional Patent Application No. 63/345,322 filed on May 24, 2022. The above-identified provisional patent application is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63345322 | May 2022 | US |