Methods, systems, and devices for respiratory monitoring
Receiving multiple signals through the receiver, generating channel impulse responses and removing clutter, calculating zero crossing time to estimate the breathing rate, solving the problem of unstable breathing monitoring in the prior art, and achieving more accurate and efficient breathing monitoring.
Patent Information
- Application Number
- CN202411678501.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-11-30
- Filing Date
- 2024-11-22
- Publication Date
- 2025-05-30
AI Technical Summary
The prior art is unstable for individual movement, irregular breathing patterns, or rapid breathing rate changes in breath monitoring, and has high complexity in processing requirements.
Receive multiple signals through the receiver, generate channel impulse response, select and remove the cluttered signal parts, generate multiple regression lines, calculate the zero crossing time to estimate the respiration rate, and classify and track based on the direction of change in the zero crossing time.
Improves the robustness of breath monitoring, can track individual movements and irregular breathing patterns more accurately, reduces resource consumption, reduces false detection and signal loss.
Smart Images

Figure CN120052872A_ABST
Abstract
Description
[0001] Cross - reference of this application
[0002] This application claims the priority and benefit of U.S. Provisional Application No. 63 / 604,658, filed on November 30, 2023, and titled "Methods, Systems, and Devices for Breathing Monitoring", which is incorporated herein by reference in its entirety. Technical Field
[0003] This disclosure relates to radar devices, systems, and methods for breathing detection and monitoring. Background Art
[0004] Radar systems (including ultra - wideband - based radar) can be used to sense the environment by providing a way to obtain propagation channel measurements. The propagation channel is caused by the reflection of the transmitted signal in the environment. Channel measurements typically take the form of a collection of periodic channel impulse response estimates (CIREs). The complex components (taps) of each CIRE correspond to the propagation delay of the reflected signal and thus to the distance of the reflecting target.
[0005] Minor movements of the reflecting target (such as those caused by breathing) cause the CIRE taps corresponding to the distance of the breathing target to change over time. Since breathing is typically an approximately periodic operation, subsequent CIRE taps will change according to the same pattern. Thus, breathing detection and monitoring algorithms typically include applying any one of a variety of frequency analysis methods (short - time Fourier transform, wavelets, MUSIC, etc.) to all CIRE taps to detect the presence of periodic changes in some of the CIRE taps. Such periodic changes will indicate the presence of a breathing individual and provide an estimate of the breathing rate.
[0006] However, frequency analysis methods are not robust to an individual's movement, irregular breathing patterns, or rapid breathing rate changes. In addition, due to processing requirements, they have high complexity.
[0007] Therefore, there is a need for improved systems and methods for breathing monitoring and detection. Summary of the Invention
[0008] In an exemplary aspect, the present disclosure relates to a method for respiratory detection and monitoring. The method further includes: receiving a first parameter via a data interface; receiving a plurality of signals via a receiver; generating a channel impulse response from the plurality of signals; selecting a portion of the channel impulse response based on the first parameter; generating a modified signal from the portion of the channel impulse response, wherein the modified signal is a clutter-removed portion of the channel impulse response; generating a plurality of regression lines from the modified signal; calculating a plurality of times based on the plurality of regression lines, wherein each of the plurality of regression lines crosses zero at one of the plurality of times; estimating a zero-crossing time based on the plurality of times; or generating a respiratory rate estimate based on the zero-crossing time.
[0009] In some aspects, embodiments may include one or more of the following features. The method may include classifying the zero-crossing time based on a direction of change of the modified signal at the zero-crossing time. The cost matrix may be based on a difference between the estimated zero-crossing time and a zero-crossing time stored in a trajectory. The method may include: if a gating constraint is satisfied, then assigning the estimated zero-crossing time to the trajectory. The channel impulse response is a channel impulse response estimate. The respiratory rate estimate is generated at each of a plurality of time steps. The method may include detecting false zero-crossing time detections based on one or more confidence criteria. The clutter may include background echoes in the environment.
[0010] In an exemplary aspect, the present disclosure relates to a device. The device further includes: a receiver; a non-transitory memory that stores instructions; and one or more processors configured to execute the instructions to cause the device to perform operations that may include: receiving a first parameter via a data interface; receiving a plurality of signals via a receiver; generating a channel impulse response from the plurality of signals; selecting a portion of the channel impulse response based on the first parameter; generating a modified signal from the portion of the channel impulse response, wherein the modified signal is a clutter-removed portion of the channel impulse response; generating a plurality of regression lines from the modified signal; calculating a plurality of times based on the plurality of regression lines, wherein each of the plurality of regression lines crosses zero at one of the plurality of times; estimating a zero-crossing time based on the plurality of times; and generating a respiratory rate estimate based on the zero-crossing time.
[0011] In some aspects, embodiments may include one or more of the following features. In the device, one or more processors are further configured to execute instructions that may include: classifying the zero-crossing time based on a direction of change of the modified signal at the zero-crossing time. One or more processors are further configured to execute instructions that may include: tracking an estimated zero-crossing time based on a cost matrix, where the cost matrix is based on a difference between the estimated zero-crossing time and a zero-crossing time stored in a trajectory; and if a gating constraint is satisfied, then assigning the estimated zero-crossing time to the trajectory. The channel impulse response is a channel impulse response estimate. The respiration rate estimate is generated at each of a plurality of time steps. One or more processors are further configured to execute instructions that may include: detecting false zero-crossing time detections based on one or more confidence criteria. The clutter may include background echoes in the environment.
[0012] In an exemplary aspect, the present disclosure relates to a non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to: receive a first parameter via a data interface; generate a channel impulse response from a plurality of signals; select a portion of the channel impulse response based on the first parameter; generate a modified signal from the portion of the channel impulse response, where the modified signal is a clutter-removed portion of the channel impulse response; generate a plurality of regression lines from the modified signal; calculate a plurality of times based on the plurality of regression lines, where each of the plurality of regression lines crosses zero at one of the plurality of times; estimate a zero-crossing time based on the plurality of times; or generate a respiration rate estimate based on the zero-crossing time.
[0013] In some aspects, embodiments may include one or more of the following features. In the non-transitory computer-readable medium, the instructions, when executed by the one or more processors, further cause the one or more processors to: classify the zero-crossing time based on a direction of change of the modified signal at the zero-crossing time. The instructions, when executed by the one or more processors, further cause the one or more processors to: track an estimated zero-crossing time based on a cost matrix, where the cost matrix is based on a difference between the estimated zero-crossing time and a zero-crossing time stored in a trajectory; and if a gating constraint is satisfied, then assigning the estimated zero-crossing time to the trajectory. The channel impulse response is a channel impulse response estimate. The respiration rate estimate is generated at each of a plurality of time steps.
[0014] After reading the following detailed description of the preferred embodiments in connection with the accompanying drawings, those skilled in the art will appreciate the scope of the present disclosure and recognize its additional aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate several aspects of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.
[0016] Figure 1 Illustrates a monitoring scenario using radar.
[0017] Figure 2A and Figure 2B A graph depicting a channel impulse response.
[0018] Figure 3 A graph depicting an example periodic signal.
[0019] Figure 4 A graph depicting a noisy portion of a respiratory signal.
[0020] Figure 5 Illustrates a block diagram of a respiratory monitoring system in accordance with some aspects of the present disclosure.
[0021] Figure 6 Illustrates a block flowchart for detecting a zero-crossing event in accordance with some aspects of the present disclosure.
[0022] Figure 7 Illustrates a block diagram for tracking zero-crossing events in accordance with some aspects of the present disclosure.
[0023] Figure 8 Is a simplified diagram of a radar-enabled device in accordance with some aspects of the present disclosure.
[0024] Figure 9 Illustrates an exemplary method for respiratory rate estimation and tracking via a radar-enabled device in accordance with some aspects of the present disclosure.
[0025] Figure 10 Illustrates a plot of the respiratory rate of a stationary individual over time in accordance with some aspects of the present disclosure.
[0026] Figure 11 Illustrates a plot of the respiratory rate of a stationary individual over time using a frequency-based technique.
[0027] Figure 12 Illustrates a plot of respiratory rate versus individual movement over time in accordance with some aspects of the present disclosure.
[0028] Figure 13 Illustrates a plot of respiratory rate versus individual movement using a frequency-based technique method.
[0029] Figure 14 Illustrates a plot of respiratory rate in an empty room in accordance with some aspects of the present disclosure.
[0030] Figure 15 A plot showing the breathing rate in an empty room in the case of using frequency-based techniques. Detailed Description
[0031] The following embodiments set forth the necessary information that enables those of ordinary skill in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. After reading the following description with reference to the accompanying drawings, those of ordinary skill in the art will understand the concepts of the present disclosure and will appreciate the applications of these concepts that are not specifically set forth herein. It should be understood that these concepts and applications are within the scope of the present disclosure and the appended claims.
[0032] It will be understood that although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish different elements. For example, without departing from the scope of the present disclosure, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.
[0033] The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the present disclosure. As used herein, unless the context clearly dictates otherwise, the singular forms "a," "an," and "the" are also intended to include the plural forms. It should also be understood that when used herein, the terms "comprises," "comprising," "includes," and / or "including" specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0034] Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. It will be further understood that the terms used herein should be interpreted as having a meaning consistent with the context of this specification and the relevant prior art, and should not be interpreted in an idealized or overly formal sense unless expressly defined herein. Additionally, like reference numerals throughout the specification and drawings denote like features.
[0035] It should be understood that each figure or flowchart, and the blocks in a combination of figures or flowcharts, can be implemented by computer program instructions. Since the computer program instructions can be disposed in a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, the instructions executed by the processor of the computer or other programmable data processing device generate a means for performing the functions described in connection with one or more blocks of each figure or flowchart. Since the computer program instructions can be stored in a computer-usable or computer-readable memory, and the computer-usable or computer-readable memory can be directed to a computer or other programmable data processing device to implement the functions in a specified manner, the instructions stored in the computer-usable or computer-readable memory can generate a product containing instructions for performing the functions described in connection with one or more blocks in each figure or flowchart. Since the computer program instructions can be disposed in a computer or other programmable data processing device, the instructions that generate a process executed by the computer as a series of operation steps executed by the computer or other programmable data processing device and operate the computer or other programmable data processing device can provide steps for performing the functions described in connection with one or more blocks in each figure or flowchart.
[0036] Each block may represent a module, a section, or a portion of code that contains one or more executable instructions for performing a particular logical function(s). It should also be noted that in some alternative implementation instances, the functions recited in the blocks may occur in a different order. For example, two blocks shown in succession may be executed substantially simultaneously or in a reverse order, depending on the corresponding functions.
[0037] Hereinafter, embodiments are described in detail with reference to the accompanying drawings. In addition, although the respiratory monitoring system is described in connection with the embodiments, by way of example, the embodiments may also be applicable to other monitoring systems having a similar technical background or characteristics. In addition, modifications to the embodiments can be made within such scopes determined by those of ordinary skill in the art without significantly departing from the scope of the present disclosure, and such modifications can be applicable to other communication systems other than radar.
[0038] Ultra-wideband (hereinafter "UWB") may refer to a short-range high-rate wireless communication technology that uses a wide frequency band of several GHz or more, low spectral density, and short pulse widths (e.g., 1 nsec to 4 nsec) in the baseband state. UWB may mean the frequency band itself to which UWB communication is applied. UWB can achieve secure and accurate ranging between devices. Therefore, UWB can achieve relative position estimation based on the distance between two devices, or accurate position estimation of a device based on the distance.
[0039] Additionally, the following abbreviations may be used throughout: "CIR" represents the channel impulse response, "CIRE" represents the channel impulse response estimate, "RFRI" represents the radar frame repetition interval, "BPM" represents breaths per minute, and "STFT" represents the short-time Fourier transform.
[0040] Embodiments of the present disclosure provide systems and methods for respiratory tracking.
[0041] Embodiments of the present disclosure provide systems and methods for respiratory detection.
[0042] Embodiments of the present disclosure provide systems and methods for determining respiratory rate.
[0043] Embodiments of the present disclosure provide systems and methods for reducing or eliminating false detections and / or respiratory signal loss.
[0044] The disclosed systems and methods may facilitate several improvements. For example, the disclosed systems and methods for respiratory tracking are more robust, including in terms of false detections and respiratory signal loss. For example, the disclosed systems and methods for respiratory tracking are more robust to irregularities in respiratory periodicity due to individual movement and / or abnormal breathing patterns. For example, the disclosed systems and methods for respiratory tracking can quickly adapt the recognition switch between true positive conditions and true negative conditions. For example, compared to traditional frequency transform-based techniques, the disclosed systems and methods reduce resource consumption. In some embodiments described herein, the systems and methods may be well-suited for detecting short apneas.
[0045] Figure 1 A monitoring scenario 100 using radar pulses is shown. In some embodiments, the monitoring scenario 100 includes an individual 110, a transmitter 115, and a receiver 120. The individual 110 may breathe at a rate that may vary over time. When the individual 110 is breathing, the transmitter 115 may generate pulses at least a portion of which propagate towards the individual 110. The body of the individual may reflect at least some portions of the transmitted pulses 125. The breathing of the individual 100 may cause a phase difference in the signals, which may be measured at the receiver 120. The receiver 120 may receive the pulses 130 scattered from the chest of the individual. For example, a personal mobile device may be placed at the bedside of an individual at night to track the respiratory rate of the individual by transmitting and receiving pulses and performing respiratory monitoring using the systems and methods described herein.
[0046] In some embodiments, the transmitter 115 may be included in a device such as a mobile device, a medical device, and / or the like (e.g., similar to Figure 8 depicted in Figure 8The described radar-enabled device 800). The device may be UWB-enabled such that the transmitted pulse 125 is a UWB pulse. The device may be radar-enabled such that the transmitted pulse 125 is a radar pulse. In some embodiments, the pulses may be structured into frames according to a standard such as FiRa. Similarly, the second device may include a receiver 120. The second device may be UWB-enabled such that it is configured to receive and decode the transmitted UWB pulse 125. The second device may be radar-enabled such that the received pulse 130 including the radar pulse can be received. In some embodiments, both the transmitter 115 and the receiver 120 may be included in the same device.
[0047] Figure 2A and Figure 2B A graph depicting the channel impulse response. Figure 2A Depicts the channel impulse response (“CIR”) 200. The channel impulse response 200 represents the response of the receiver to the received pulse, e.g., Figure 1 the response of the receiver 120 to the received pulse 130 in. The channel impulse response 200 may include multiple path responses 205(a)-(c). Each path response may correspond to a delay based on the path the signal travels before reaching the receiver. In Figure 2A the example depicted in, there are three path responses including the channel impulse response of the receiver over time. In some embodiments, the channel impulse response is a digital estimate of the continuous channel impulse response (“CIRE”). References to the channel impulse response herein should be understood to include the CIRE, e.g., the digital channel impulse response, and vice versa where appropriate. By way of example, the first path response 205a of the channel impulse response 200 may correspond to a pulse from the transmitter traveling across the direct path between the transmitter and the receiver; the second path response 205(b) of the channel impulse response 200 may correspond to a pulse from the transmitter traveling across the path from the transmitter to a target (e.g., individual 110) and then to the receiver; and the third path response 203(c) of the channel impulse response may correspond to a longer path such as a path describing scattering from a wall or other object in the room. Figure 2A For illustration only, there may be more or fewer path responses including the channel impulse response, and the shape of the channel impulse response may vary based on several factors including the physical configuration of the receiver, the environment through which the pulse travels, and / or the type of objects in the environment that reflect the pulse.
[0048] Figure 2B Depicts a graphical representation 250 of a sequence of channel impulse responses or (CIRE) 260a-c generated by a sequence of pulses transmitted by a transmitter having a specified radar frame repetition interval (RFRI) 255. In other words, there is one CIRE per frame, and each frame is composed of a sequence of pulses. In some embodiments, as Figure 1As described, the transmitter 115 transmits a pulse train 125 at time intervals spaced at a regular interval equal to the RFRI, and the receiver generates channel impulse responses 260a-c, one channel impulse response corresponding to each transmitted pulse train 125. Sometimes, the RFRI 255 will be referred to as the frequency. In some embodiments, the slow time axis 265 measures the time between transmitted pulses. In some embodiments, the fast time axis 270 corresponds to the delay or range of the various paths traveled by the transmitted pulses, such as the lengths of the paths from the transmitter to the individual 110 and from the individual to the receiver. Each path generates a path response in the channel impulse responses 260a-c, such as one of 205a-c. In some embodiments, the fast time axis 270 corresponds to the delay measured from the time each pulse is transmitted by the transmitter. Heuristically, the signal of the path response may vary periodically with the slow time, which represents the breathing periodicity of the individual in the room. Figures 2A to 2B The channel impulse responses depicted are merely illustrative. In some embodiments, the signals processed by the breathing monitoring system are digital signals.
[0049] The signal measured by the receiver can be mathematically represented as r(τ,kT s ), which represents the k-th tap of the CIR measured at time τ at a sampling rate of T s where in some embodiments, the sampling rate can be between 500 MHz and 10 GHz. In some embodiments, r(τ,kT s ) is complex. Let K be the number of complex taps of the CIRE. In some embodiments, to independently process the real and imaginary parts of each CIRE tap, the following 2K real CIRE signals are defined
[0050]
[0051] Thus, each CIR contains 2K real coefficients: K from the real part and K from the imaginary part. In a static environment with a conventional breathing target, the real signal of each CIRE can be given by
[0052] r l (τ) = α l p(τ) + C l + w l (τ), (2)
[0053] where the function p(τ) is a normalized periodic function with period Λ. The function p(τ) is characteristic of the breathing pattern of a given target at a given time. It can be sinusoidal, but most of the time, the inhalation and exhalation operations are asymmetric and follow a non-sinusoidal periodic pattern. The coefficient α lis real and represents the vibration amplitude of each part (real or imaginary) of the k-th tap. In some embodiments, breathing significantly affects only some of the CIRE coefficients. Thus, most of the {α l} l can be zero-valued. Here, it is assumed that {α l} l is constant over time, but in reality, it can change slowly or suddenly if, for example, the breathing target has moved. The constant C l represents the clutter effect, which by definition is independent of τ. The function w l (τ) is noise, taking into account the effects in both the environment and the receiver. The noise can be stationary in fast time, but its power can depend on the tap index The clutter-removed signal
[0054] c l (τ) can be written as r l (τ) - C l = α l p(τ) + w l (τ), (3)
[0055] Figure 3 Graph 300 depicts an example periodic signal 305. The periodic signal 305 can correspond to p(τ) as described herein and shown in Equation 3. The markers 310a-f and 315a-f identify the locations of the zero crossings of the periodic signal. The vertical axis 320 corresponds to the signal intensity in arbitrary units. The horizontal axis 325 corresponds to slow time, e.g., similar to Figure 2B 265 in Figure 3 In some embodiments, the breathing rate can be calculated by tracking the zeros of the periodic signal. For the reasons described herein, the ZCs can be distinguished based on whether the periodic signal is increasing or decreasing at the zero crossing (ZC) (i.e., whether the slope of the graph is positive or negative). The direction of the ZC pattern is referred to as the ZC pattern, i.e., upward (increasing) or downward (decreasing). The upward arrow marked above zero is where the periodic function is increasing at the ZC, and the downward arrow marked below zero is where the periodic function is decreasing at the ZC. Thus,
[0056] Figure 4 depicts an example of p(τ) over slow time τ. Under certain conditions, the delay between two consecutive ZC times performed in the same manner is proportional to the period Λ of the periodic signal. In some embodiments, the systems and methods described herein estimate the ZC times and ZC directions of the function p(τ), and thereby determine the breathing rate estimate by tracking the time intervals between consecutive ZC events. l(τ). As Figure 4 depicted in, the up and down markers 410a-d and 415a-e identify the positions where the periodic signal crosses zero. The vertical axis 420 corresponds to the signal strength in arbitrary units. The horizontal axis 425 corresponds to slow time, e.g., similar to Figure 2B 265 in. In some embodiments, the respiratory rate can be calculated by tracking the zero of the periodic signal. As depicted, noise causes multiple ZCs near the zero crossing (ZC) of the linear regression line 430. In some embodiments, the ZC of the periodic signal without noise will be referred to as the true ZC. Figure 4 Depicts the regression line 430 that can be used to approximate the true ZC. For the reasons described herein, the ZCs can be distinguished based on whether the periodic signal is increasing or decreasing at the ZC (i.e., whether the slope of the curve is positive or negative). The up markers 410a-d mark where the slope of the curve is positive at the ZC, and the down markers 415a-e mark where the slope of the curve is negative at the ZC.
[0057] Within a short time period [τ s , τ e around the ZC event of p(τ), p(τ) can be approximated as a straight line. Therefore, linear regression can be applied to the input signal to estimate the ZC time. The time at which the line generated by linear regression crosses the zero level is the estimate of the ZC time of p(τ), and the sign of the slope of the line gives the ZC mode.
[0058] Figure 5 Shows a block diagram of a respiratory monitoring system 500 according to some aspects of the present disclosure. The respiratory monitoring system 500 may include a tap selection block 505, a clutter removal block 510, a regression block 515, a zero crossing event detection block 520, a zero crossing direction detection block 525, an up tracking block 530, a down tracking block 535, and a BPM calculation block 540. In some embodiments, the input to the respiratory monitoring system is the digitized CIR estimate and one or more user-provided parameters as described herein. In some embodiments, the respiratory monitoring system receives the CIR estimate as K complex taps at a regular period (RFRI) Δ. For the sake of description, we will refer to r(m,k) as the k-th complex tap at time ζ(m)=Δm. Where k is the fast time index and m is the slow time index. For simplicity, the period Δ is omitted and it is assumed to be equal to one, which is equivalent to a change of units. In some embodiments, the final output of the respiratory monitoring system is the respiratory rate estimate 545. For example, when monitoring a human individual, the respiratory rate estimate can fluctuate at about 15 breaths per minute.
[0059] In some embodiments, the tap selection block 505 selects taps from the K complex taps of the CIR estimate. The tap selection block 505 can organize the tap signals into a vector expressed as follows:
[0060]
[0061] where k s$ and k sp are the optional first and last taps. The vector of Equation 4 has dimension L = 2(k sp -kst + 1). In some embodiments, the user may provide k st and k sp as inputs to the respiration monitoring system 500. In some embodiments, the tap with the highest signal-to-noise ratio (SNR) may be selected.
[0062] In some embodiments, the clutter removal block 510 removes the constant background clutter caused by unwanted echoes in a static environment (e.g., C l ) in Equation 2. The clutter removal is applied independently to each component of the vector of K complex taps in Equation 4, and the component may be referred to as r l , l ∈ 1, …, L. The clutter may be estimated first according to the following equation:
[0063] dc l (m) = (1 - μ(m))dc l (m - 1) + μ(m)η(m) = dc l (m - 1) + μ(m)(η(m) - dc l (m - 1)) (5)
[0064] where μ(m) is the step size or learning rate of the adaptive algorithm that determines the convergence rate. A larger value of μ results in faster convergence but larger clutter estimation noise. In some embodiments, μ may be a constant. In some embodiments, μ may vary with slow time m. In some embodiments, where μ / is a user-defined parameter to ensure that the convergence rate remains high enough. The output of the clutter removal block 510 is the impulse response of the echoes from only the target (e.g., those pulses reflected only from Figure 1 the individual 110 in
[0065] c l (m) = r l (m) - dc l (m)
[0066] This is an example of a method for estimating clutter; other estimation techniques, such as stochastic gradient descent, are envisioned.
[0067] In some embodiments, the regression box 515 allows the regression of the taps selected by the tap selection box 505 to be calculated in a sliding window. In some embodiments, the regression box 515 receives the output of the clutter removal box, which contains the clutter-free signal.
[0068] The set {ζ(i)} can be a sequence of all the ZC times of p(τ). Near the u-th ZC time, ζ(u), c l (τ) can be approximated as
[0069]
[0070] In some embodiments, N+M+1 measurements of the clutter-free signal are obtained at times τ = {ξ(m-N), …, ξ(m+M)} around ζ(u). If the linear approximation is valid for those measurements, then the following matrix formula can be used:
[0071]
[0072] The following equation can be used to calculate the MSE estimators of a l (m) and b l (m):
[0073]
[0074] Furthermore, is a consistent estimator. The way the sign estimate of has crossed the zero line. Furthermore, is a good indicator of the estimation quality. It can be closely related to the signal amplitude a l and thus closely related to the SNR. The mean square error ∈(m) between the input vector c l (m) and the linear regression result can also be used to define the linear hypothesis:
[0075]
[0076] In some embodiments, all clutter-free signals c l with non-zero vibration amplitude (|a l (τ)| > 0) can be used as input signals to obtain the ZC events of p(τ). Depending on the vibration amplitude, each clutter-free signal has a different SNR. In some embodiments, the clutter-free signal with the largest magnitude can be selected; this can be formalized as the following equation:
[0077] l * = argmax l (|α l |) (10)
[0078] In some embodiments, clutter-free signals c with positive SNR can be selected l (τ).
[0079] The above discussion can be reformulated to accommodate the use of multiple tap signals.
[0080]
[0081] where Θ # (m) represents the pseudo-inverse of Θ(m). Since so the weighted least squares estimate of can be calculated as
[0082]
[0083] When measurements are made periodically, ξ(m) = mΔ, and the linear regression matrix Θ(m) can be mathematically expressed as:
[0084]
[0085] And
[0086]
[0087] Therefore, the linear regression result can then be obtained, always applying the pseudo-inverse of the matrix Θ(0), and then shifting the result as a function of m. The pseudo-inverse matrix coefficients can be pre-computed since they depend only on the fixed parameters M and N.
[0088] The set of quality metrics for multi-tap signal regression can be mathematically expressed as:
[0089]
[0090] In some embodiments, the regression described above can be applied continuously as a sliding window process: for each input vector c l (m) the ZC time estimate is calculated When ξ(m) is close to one of the, the linear hypothesis is valid and will store Otherwise is not valid and must be rejected. In some embodiments, the rejection criterion is based on the following observations: (1) it is highly likely that is close to ξ(m) only when ξ(m) is close to one of the; and (2) if ξ(m) is close to one of, then the slope of c one of the, then the slope of c l (m) is not close to 0 and thus ρ(m) should be greater than a given threshold.
[0091] Typically, for each true value Generate multiple ZC time estimates that can be identified as corresponding to the same estimate and averaged to attempt to obtain one ZC time estimate per The details of zero-crossing event detection are further discussed below with respect to the zero-crossing event detection box 520. In some embodiments, the process of the regression box 515 can be:
[0092] 1. Form an (M + N + 1) x L matrix C(m)
[0093]
[0094] 2. Apply the pseudo-inverse of Θ(0)
[0095]
[0096] where u(m) and v(m) are 1 x L vectors.
[0097] 3. Calculate the slope estimate, ZC time estimate, and weights. For the slope estimate, only the input with the maximum amplitude must be considered. This can be expressed as the following condition: If |u l (m)| > T G , then Otherwise where the threshold T G is calculated relative to the maximum value, T G = R G max l |u l |, where R G is a user-defined parameter. Use the following to calculate the ZC estimate
[0098]
[0099] The weights and MSE are calculated as follows respectively:
[0100]
[0101] Referring to the zero-crossing event detection box 520 and the zero-crossing direction detection box 525, these boxes can be based on the principle of multi-object tracking. Multi-object tracking improves the robustness of the systems and methods described herein to the irregularities of the respiratory sequence caused by, for example, the movement of an individual.
[0102] In some embodiments, the zero-crossing event detection box 220 identifies the ZC estimate corresponding to a true ZC In some embodiments, this is done by among consecutive ZC estimates This is achieved by adding it to the list when it is close to the previous ZC estimate. Once this proximity condition is no longer verified, the list is closed and emptied, and the elements stored in the list are used to calculate the ZC detector output. The ZC detector output is the index of j. The zero-crossing event detection block 220 includes an original confidence criterion, which makes the system and method robust to false respiration detection and false estimation. The zero-crossing event detection block can output the ZC time Z(j); the ZC slope vector A(j); and the quality metric / weight W(j). In some embodiments, the weight W(j) is determined according to the quality metric calculated from ρ(m) and ∈(m). When the weight is too low, the event may be automatically rejected.
[0103] Figure 6 A block flow diagram showing the detection of zero-crossing events is shown. Although Figure 6 A plurality of steps are shown in sequential order, but additional steps may be added and the steps may be reordered as shown. For the following description, is a list, and j is the index of the output of the zero-crossing detection block 520. In some embodiments, the system may refer to a radar-enabled computing device as described in Figure 8 .
[0104] In step 605, the system is initialized, is empty and j = 1.
[0105] In step 610, the system waits for the next input. In some embodiments, the regression block 515 provides an input for each slow-time index m. Each input contains four pieces of information ρ(m) and ∈(m).
[0106] In step 615, the system checks the input validity condition. The input is considered only when ρ(m) > T r and . Where T R and D R are user-defined parameters.
[0107] In step 620, the system checks whether the list is non-empty.
[0108] In step 625, the system checks the list entry condition. The input (i.e., the zero-crossing) can be added to the list only when . That is, the new zero-crossing must be close enough to the existing zero-crossings in .
[0109] In step 630, the system stores the input in the list, that is, adds the current zero-crossing time index m to the list
[0110] At step 635, the system checks for an end condition. In some embodiments, when no new elements are added during the last T e time period, the list is closed.
[0111] At step 640, an output can be generated from the elements stored in the list In some embodiments, the ZC time is calculated to estimate Z(j), the ZC slope vector A(j) is calculated, where the weight W(j)
[0112] E(j) = mean n∈L ∈(n) (20a)
[0113]
[0114] At step 645, the system checks for output validity conditions. In some embodiments, if (a) the list contains more than N l elements and W(j) > T Y , where N l and T Y are user-defined parameters, then the output is considered valid and triggers the tracking box.
[0115] At step 650, if the output validity conditions are met, then the system triggers the tracking box.
[0116] At step 655, the system clears the list and increments the output index j = j + 1.
[0117] Referring to the upward event tracking box 530 and the downward event tracking box 535, these boxes implement multi-target tracking to separately track zero crossings with positive and negative slopes (upward events and downward events), respectively. In the following discussion, the subscript / superscript reference to upward (u) or downward (d) is suppressed because each of the boxes 530, 535 has similar processing steps.
[0118] The periodic signal crosses the zero line twice per period: once in the upward direction and once in the downward direction. At a given ZC time, some inputs may be upward while others are downward. But then, the opposite will occur at the next ZC time. For simplicity, we will refer to one of these ZCs per period as "upward" and the other ZC as "downward", regardless of the true value of the input signal, since it can go the other way around.
[0119] The delay between an upward ZC event and a downward ZC event may be different from the delay between a downward and an upward one. For example, breathing may be temporally asymmetric between exhalation and inhalation. Therefore, the upward and downward ZC estimates are processed independently to obtain two cycle estimates that are combined at the end of the process for a final estimate.
[0120] When a new event occurs, its "upward" or "downward" direction must first be identified. This is achieved by comparing the slope vector A(j) of this new event with some reference vectors Du and Dd calculated respectively through upward and downward tracking boxes.
[0121] In fact, will not be regularly spaced and may disappear from time to time during a certain time period if, for example, the individual is moving. To react quickly to all these variations, the process described herein uses multi-object tracking, which makes it robust to the irregularities of the real sequence.
[0122] Figure 7 A block diagram for event tracking according to some aspects of the present disclosure is shown. In some embodiments, the event tracking box 700 includes an assignment box 705, a maintenance box 710, a filtering and prediction box 715, a gating box 720, and a selection output box 725. In some embodiments, the event tracking box 700 may consist of tracking the breathing cycle from ZC event estimation.
[0123] Each trajectory t (u) is characterized by a set of parameters:
[0124] <![CDATA[STATUS (u) > Taking values of "tentative", "confirmed" or "deleted" <![CDATA[ASSIGNLIST (u) > Vector listing the last allocated index <![CDATA[Z (u) > Last ZC time measurement integrated in this trajectory <![CDATA[Y (u) > Before the last ZC time measurement integrated in this trajectory <![CDATA[A (u) > Last slope vector measurement integrated in this trajectory <![CDATA[P (u) > Current period estimate <![CDATA[D (u) > Slope vector estimate <![CDATA[V (u) > Variance estimate of the period estimation error <![CDATA[G (u) > Current strobe tolerance
[0125] In some embodiments, the assignment box 705 associates observations with trajectories. The purpose of this box may be to check whether a new observation Z(j) can be assigned to the current active trajectory. If there are no available active trajectories, then this box is bypassed. The assignment box 705 may include several steps described below.
[0126] First, box 705 may fill the cost matrix M. In some embodiments, due to some ZC events not being detected, the gap between the current observation and the last measurement may be equal to more than one cycle. Therefore, in the cost matrix, the distance from the current observation to the "future" ZC time is also considered. Assuming u U is the index of the nth active trajectory, then
[0127]
[0128] where p indexes the number of cycles.
[0129] Secondly, box 705 finds M(n,p), (n * ,p* ) = argmin (n,p) The minimum value and index of M(n, p).
[0130] Third, the box 705 checks that the selected value satisfies the gating constraint, i.e., if then assign Z(j) and A(j) to the track
[0131]
[0132] Otherwise, do not assign the observation to any existing track.
[0133] In some embodiments, the track maintenance box 710 modifies the tracking and / or generates new tracks. The track maintenance box 710 may include several steps. First, the box 710 may create a new track for which Z(j) is not assigned:
[0134]
[0135] Second, in some embodiments, if the track has been assigned at least M4T2C times during the last N4T2C events, then confirm the tentative track. M4T2C and N4T2C are user-defined parameters. By default, M4T2C = 2 and N4T2C = 3. Third, if the track has not been assigned at T4C2D seconds, then delete the confirmed track. If the track has not been assigned at T4T2D seconds, then delete the tentative track.
[0136] In some embodiments, the filtering and prediction box 715 may be a first-order loop filter and is applied to the tracking of the period estimation. The box 715 may calculate the following:
[0137]
[0138] In some embodiments, the gating box 720 may generate the gating value used in the assignment box 705. According to calculate the gating value, where T_g is a user-defined scaling factor.
[0139] In some embodiments, the selection output box 725 may output the period estimation P x with its confidence estimate C x and the mode vector estimate D x , x = {u, d}, which depends on which of the up box or the down box is considered. At a given time, the tracking box may maintain several active tracks, some with a tentative status and some with a confirmed status. If there is, assume u* is the index of the most recent active confirmed track. Then,
[0140]
[0141] C x = 1
[0142]
[0143] If there is no active trace, then
[0144] P x = 0
[0145] C x = 0
[0146] D x = 0
[0147] In some embodiments, the trace configuration parameters may be defined in such a way that only one trace can have a confirmed status at a given time.
[0148] In some embodiments, the zero-crossing direction detection box 525 may identify which of the upward and downward tracking boxes must process the last event. The upward and downward zero-crossing events are tracked independently so that the algorithm is robust to asymmetric breathing patterns. A multi-dimensional direction detection solution is proposed. By taking the scalar product of A(j) with the reference vectors D u and D d and comparing the results to give the crossing direction. If |A(j) T D u | > |A(j) T D d |, then D(j) = Up, otherwise D(j) = Down.
[0149] In some embodiments, the BPM calculation box 540 may calculate a respiration rate estimate 545. The outputs from the upward tracking box and the downward tracking box may be fed into the BPM calculation box 540, denoted as P u 、P d 、C u and C d , as described above. The following table shows respiration rate estimates for various confidence estimates C u and C d .
[0150] <![CDATA[C u > <![CDATA[C d > BPM 1 1 <![CDATA[(P u +P d ) / 2]]> 1 0 <![CDATA[P u > 0 1 <![CDATA[P d > 0 0 No estimate
[0151] Table 1
[0152] As shown in Table 1, the respiration rate estimate has no output only when both confidence estimates are zero. By tracking upward and downward zero-crossings, the methods and systems described herein are able to estimate the respiration rate even when there is no confidence in one type of zero-crossing (i.e., upward or downward).
[0153] Figure 8Simplified diagram of the radar enabling device 800. According to the embodiments described herein, one or more radar enabling devices 800 may be present in Figure 1 as depicted and regarding Figure 1 the scenarios described. In some embodiments, the radar enabling device 800 may perform the respiration monitoring systems and methods depicted in FIGS. 2 to Figure 7 as depicted and regarding FIGS. 2 to Figure 7 described. As Figure 8 shown, the radar enabling device 800 includes a processor 810 coupled to a memory 820. The operation of the radar enabling device 800 is controlled by the processor 810. Additionally, although the radar enabling device 800 is shown as having only one processor 810, it should be understood that the processor 810 may represent one or more central processing units, multi-core processors, microprocessors, microcontrollers, digital signal processors, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), graphics processing units (GPUs), etc. in the radar enabling device 800. The radar enabling device 800 may be implemented as a stand-alone system, implemented as a board added to a computing device, and / or implemented partially or fully as a virtual machine.
[0154] The memory 820 may be used to store software executed by the radar enabling device 800 and / or one or more data structures used during the operation of the radar enabling device 800. The memory 820 may include one or more types of machine-readable media. Some common forms of machine-readable media may include floppy disks, flexible disks, hard disks, magnetic tapes, any other magnetic media, CD-ROMs, any other optical media, punched cards, paper tapes, any other physical media with patterns of holes, RAMs, PROMs, EPROMs, flash-EPROMs, any other memory chips or cartridges, and / or any other media from which a processor or computer is adapted to read.
[0155] The processor 810 and / or the memory 820 may be arranged in any suitable physical arrangement. In some embodiments, the processor 810 and / or the memory 820 may be implemented on the same board, in the same package (e.g., system-in-package), on the same die (e.g., system-on-chip), etc. In some embodiments, the processor 810 and / or the memory 820 may include distributed, virtualized, and / or containerized computing resources. Consistent with such embodiments, the processor 810 and / or the memory 820 may be located in one or more data centers and / or cloud computing facilities.
[0156] In some instances, the memory 820 may include a non-transitory tangible machine-readable medium that includes executable code that, when executed by one or more processors (e.g., the processor 810), may cause the one or more processors to perform methods described in further detail herein. For example, as shown, the memory 820 includes instructions for the respiration monitoring module 830, which may be used to implement and / or simulate systems and models, and / or implement any of the methods described herein. The respiration monitoring module 830 may receive an input signal 840 and / or generate an output signal 850 via the antenna 815. Examples of input signals may include an earlier transmitted pulse that has been reflected from an individual in the environment of the device, e.g., as depicted in Figure 1 which generates an estimated channel impulse response, as depicted in Figure 2A and Figure 2B and described with respect to Figure 2A and Figure 2B . The input signal may be frame-structured, and the frame may, for example, take a form described in any number of different standards (i.e., IEEE, FiRa, etc.). Examples of output signals may include frames transmitted by the radar-enabled device 800 at a particular rate (e.g., the RFRI rate depicted in Figure 2B and described with respect to Figure 2B ).
[0157] The antenna 815 may include a transceiver, separate transmitter and receiver, or any other component that transmits in a radar or other signaling mode suitable for the systems and methods described herein. For example, the radar-enabled device 800 may receive the input signal 840 from an earlier transmitted pulse (e.g., a pulse transmitted by the antenna 815).
[0158] The data interface 817 may include a communication interface, a user interface (such as a voice input interface, a graphical user interface, etc.). For example, the radar-enabled device 800 may receive an input 845 (such as a set of parameters for respiration monitoring) from a network-connected database via the communication interface. Alternatively, the radar-enabled device 800 may receive an input 845 from a user via the user interface, such as user-specified parameters for respiration monitoring. The radar-enabled device 800 may generate an output 855. For example, the output 855 may be a numerical value of the respiration rate or a sequence of numerical values over time representing changes in the respiration rate, e.g., as shown in Figure 10 , Figure 12 and Figure 14 .
[0159] In some embodiments, the respiration monitoring module 330 is configured to control the content and timing of the output signal 855. The respiration monitoring module 830 may further include a signal preparation sub-module 831 (e.g., implementing Figure 5(instructions of the tap selection box 505 and / or the clutter removal box 510 in), the regression sub-module 832 (e.g., implementing Figure 5 (the regression box 515 in), the detection sub-module 833 (e.g., for implementing the zero-crossing event detection box 520 and / or the zero-crossing direction detection box as described in Figures 5 to 7 and / or the tracking sub-module 834 (e.g., for implementing the boxes 530 and / or 535 as depicted in Figure 5 ).
[0160] Some examples of UWB devices (such as the UWB device 300) may include a non-transitory tangible machine-readable medium that contains executable code, which when executed by one or more processors (e.g., the processor 310) can cause the one or more processors to execute the processes of the method. Some common forms of machine-readable media that may contain the processes of the method are, for example, floppy disks, flexible disks, hard disks, magnetic tapes, any other magnetic media, CD-ROMs, any other optical media, punched cards, paper tapes, any other physical media with hole patterns, RAM, PROM, EPROM, flash-EPROM, any other memory chip or cartridge, and / or any other medium from which a processor or computer is adapted to read.
[0161] In some embodiments, the radar-enabled device 800 may be configured for UWB.
[0162] Figure 9 FIG. shows an exemplary method for respiration rate estimation and tracking via a radar-enabled device according to some aspects of the present disclosure. The method 900 is only an example and is not intended to limit the present disclosure beyond what is explicitly recited in the claims. Additional operations may be provided before, during, and after the method 900, and some of the described operations may be replaced, eliminated, or moved around for Figures 1 to 8 additional embodiments. For ease of illustration, in conjunction with Figures 1 to 8 described Figure 9 . In some embodiments, the method 900 may be implemented by the UWB device 800 in Figure 8 or any of the radar-enabled devices described herein.
[0163] In step 902, the radar-enabled device (e.g., Figure 8 800 in) receives a first parameter (e.g., the number of taps as described herein) via a data interface (e.g., Figure 8 817 in).
[0164] In step 904, the radar-enabled device (e.g., Figure 8 800 in) receives data via a receiver (e.g., Figure 8The antenna 815) in receives multiple signals (e.g., Figure 8 814 in, and as depicted and with respect to Figure 1 described).
[0165] In step 906, a radar enabling device (e.g., Figure 8 800 in) generates a channel impulse response from the multiple signals (e.g., as described in Figure 2A , Figure 2B ). In some embodiments, the channel impulse response may be a channel impulse response estimate, which may be a digital signal.
[0166] In step 908, a radar enabling device (e.g., Figure 8 800 in) selects (e.g., Figure 5 505 in, as implemented by the signal preparation submodule 831 in Figure 8 ) a portion of the channel impulse response (e.g., as expressed in Equation 4).
[0167] In step 910, a radar enabling device (e.g., Figure 8 800 in) generates (e.g., using the signal preparation submodule 831 in Figure 8 ) a modified signal (e.g., as expressed by Equation 3), where the modified signal is the clutter-removed (e.g., Figure 5 510 in) portion of the channel impulse response. In some embodiments, the clutter may include background echoes in the environment (e.g., as depicted in Figure 1 and described with respect to Figure 1 ).
[0168] In step 912, a radar enabling device (e.g., Figure 8 800 in) generates (e.g., Figure 5 515 in, as implemented by the regression submodule 832) multiple regression lines from the modified signal.
[0169] In step 914, a radar enabling device (e.g., Figure 8 800 in) calculates multiple times (e.g., Figure 5 520 in, as implemented by the detection submodule 833 in Figure 8 ) based on the multiple regression lines, where each of the multiple regression lines passes through zero at one of the multiple times.
[0170] In step 916, a radar enabling device (e.g., Figure 8 800 in) estimates (e.g., Figure 5 520 in, as implemented by the detection submodule 833 in Figure 8The detection sub-module 833 in) zero-crossing time. In some embodiments, the radar enabling device classifies the zero-crossing time based on the direction of change of the modified signal at the zero-crossing time (e.g., determined by Figure 5 525 in). In some embodiments, the radar enabling device tracks the estimated zero-crossing time based on a cost matrix, where the cost matrix is based on the difference between the estimated zero-crossing time and the zero-crossing time stored in the trajectory. In some embodiments, if the gating constraint is satisfied, the radar enabling device assigns the estimated zero-crossing time to the trajectory. In some embodiments, the radar enabling device detects false zero-crossing times based on one or more confidence criteria.
[0171] In step 918, the radar enabling device (e.g., Figure 8 800 in) generates a respiration rate estimate (e.g., Figure 5 540 in) based on the zero-crossing time. In some embodiments, the respiration rate estimate can be generated at each of a plurality of time steps. The respiration rate estimate can be output by the radar enabling device, displayed on a user interface, or otherwise made available.
[0172] In some embodiments, other steps of method 900 can include the radar enabling device transmitting (e.g., Figure 8 850 in) pulses at a given frequency (e.g., such as the RFRI 255 depicted in Figure 2B and described with respect to Figure 2B ).
[0173] Refer to Figures 10 to 15 to depict a plot of respiration rate using the systems and methods described herein. Additionally, a heat map for predicting respiration rate using a frequency-based method is depicted. The frequency-based method used is the short-time Fourier transform. In Figures 10 to 15 , the horizontal axis is the slow-time axis in seconds. In the plot of the frequency-based technique, the vertical axis represents the frequency range. In the plot according to the systems and methods described herein, the vertical axis is in breaths per minute.
[0174] Figure 10 shows a plot of the respiration rate of a stationary individual over time according to some aspects of the present disclosure. The estimated respiration rate is shown by Figure 10 individual data points in. When the data is being acquired and the respiration rate is being estimated, the individual being measured is not given any specific instructions and is breathing normally. Figure 10 depicts the variation of the respiration rate over time and the continuous estimation of the respiration rate throughout the duration of the experiment.
[0175] Figure 11 shows data from as described with respect to Figure 10Results of respiration of the same individual described, but using a frequency-based technique. As Figure 11 shown, while the frequency-based method occasionally has a high intensity in the correct frequency range (in the range of 15 to 20), over a long period of time, the frequency-based method cannot accurately monitor the respiration rate.
[0176] Figure 12 Shows a plot of respiration rate versus individual movement over time according to some aspects of the present disclosure. For Figure 12 and Figure 13 the experiments plotted, the individual was required to start moving their arm at a certain point in time. The experiments were designed to see if the systems and methods described herein are robust to individual movement. As in Figure 12 visible, the individual points accurately track the respiration right. The respiration rate corresponding to the individual starting to move is about 175 seconds. Notably, the respiration rate is not lost due to the individual's movement.
[0177] Figure 13 Shows a plot of respiration rate versus individual movement in the case of using a frequency-based technique method. Figure 13 Shows that the frequency-based method tends to perform poorly in terms of individual movement. When the individual starts to move around the 175-second mark, the frequency-based method loses intensity in the correct frequency range.
[0178] Figure 14 Shows a plot of respiration rate in an empty room according to some aspects of the present disclosure. As Figure 14 shown, no respiration rate is detected, as expected for an empty room.
[0179] Figure 15 Shows a plot of respiration rate in an empty room in the case of using a frequency-based technique. In contrast to Figure 14 the above, the frequency-based method detects spurious frequencies that do not reflect the respiration of any individual.
[0180] Although some of the terms used herein may match or approximate the terms of a particular standard (e.g., FiRa), those skilled in the art will recognize its relevance and application to other protocols based on the concept of ranging rounds (e.g., as defined in the CCC - Connected Car Consortium).
[0181] Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered to be within the scope of the concepts disclosed herein and the following claims.
Claims
1. A method for respiratory detection and monitoring, comprising: Receiving a first parameter via a data interface; receiving a plurality of signals via a receiver; generating a channel impulse response from the plurality of signals; selecting a portion of the channel impulse response based on the first parameter; generating a modified signal from the portion of the channel impulse response, wherein the modified signal is the portion of the channel impulse response from which clutter has been removed; generating a plurality of regression lines from the modified signal; calculating a plurality of times based on the plurality of regression lines, wherein each of the plurality of regression lines passes through zero at one of the plurality of times; estimating a zero-crossing time based on the plurality of times; as well as A respiration rate estimate is generated based on the zero-crossing time.
2. The method according to claim 1, further comprising: The zero-crossing times are classified based on a direction of change of the modified signal at the zero-crossing times.
3. The method according to claim 2, further comprising: tracking the estimated zero-crossing time based on a cost matrix, wherein the cost matrix is based on differences between the estimated zero-crossing time and the zero-crossing time stored in the trajectory; as well as If the gating constraints are met, the estimated zero-crossing time is assigned to the trajectory. The method of claim 1 , wherein the channel impulse response is a channel impulse response estimate. The method of claim 1 , wherein the breathing rate estimate is generated at each of a plurality of time steps.
6. The method according to claim 1, further comprising: False zero crossing time detections are detected based on one or more confidence criteria. The method of claim 1 , wherein the clutter comprises background echoes in an environment.
8. A device comprising: Receiver; a non-transitory memory storing instructions; as well as One or more processors configured to execute the instructions to cause the apparatus to perform operations including: Receiving a first parameter via a data interface; receiving a plurality of signals via a receiver; generating a channel impulse response from the plurality of signals; selecting a portion of the channel impulse response based on the first parameter; generating a modified signal from the portion of the channel impulse response, wherein the modified signal is the portion of the channel impulse response from which clutter has been removed; generating a plurality of regression lines from the modified signal; calculating a plurality of times based on the plurality of regression lines, wherein each of the plurality of regression lines passes through zero at one of the plurality of times; estimating a zero-crossing time based on the plurality of times; as well as A respiration rate estimate is generated based on the zero-crossing time.
9. The apparatus of claim 8, wherein the one or more processors are further configured to execute instructions comprising: The zero-crossing times are classified based on a direction of change of the modified signal at the zero-crossing times.
10. The apparatus of claim 9, wherein the one or more processors are further configured to execute instructions comprising: tracking the estimated zero-crossing time based on a cost matrix, wherein the cost matrix is based on the difference between the estimated zero-crossing time and the zero-crossing time stored in the trajectory; and If the gating constraints are met, the estimated zero-crossing time is assigned to the trajectory.
11. The apparatus of claim 8, wherein the channel impulse response is a channel impulse response estimate.
12. The apparatus of claim 8, wherein the respiratory rate estimate is generated at each of a plurality of time steps.
13. The apparatus of claim 8, wherein the one or more processors are further configured to execute instructions comprising: False zero crossing time detections are detected based on one or more confidence criteria. The apparatus according to claim 8 , wherein the clutter comprises background echoes in an environment.
15. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to: Receiving a first parameter via a data interface; generating a channel impulse response from a plurality of signals; selecting a portion of the channel impulse response based on the first parameter; generating a modified signal from the portion of the channel impulse response, wherein the modified signal is the portion of the channel impulse response from which clutter has been removed; generating a plurality of regression lines from the modified signal; calculating a plurality of times based on the plurality of regression lines, wherein each of the plurality of regression lines passes through zero at one of the plurality of times; estimating a zero-crossing time based on the plurality of times; as well as A respiration rate estimate is generated based on the zero-crossing time.
16. The non-transitory computer-readable medium of claim 15, wherein the instructions, when executed by the one or more processors, further cause the one or more processors to: The zero-crossing times are classified based on a direction of change of the modified signal at the zero-crossing times.
17. The non-transitory computer-readable medium of claim 16, wherein the instructions, when executed by the one or more processors, further cause the one or more processors to: tracking the estimated zero-crossing time based on a cost matrix, wherein the cost matrix is based on the difference between the estimated zero-crossing time and the zero-crossing time stored in the trajectory; and If the gating constraints are met, the estimated zero-crossing time is assigned to the trajectory.
18. The non-transitory machine-readable medium of claim 15, wherein the channel impulse response is a channel impulse response estimate.
19. The non-transitory machine-readable medium of claim 15, wherein the breathing rate estimate is generated at each of a plurality of time steps.
20. The non-transitory computer-readable medium of claim 15, wherein the instructions, when executed by the one or more processors, further cause the one or more processors to: False zero crossing time detections are detected based on one or more confidence criteria.