A method and device for detecting blood oxygen saturation using pulse waves
By segmenting and aligning the infrared and red light AC components, the prediction coefficients and periodic average templates are determined, solving the problems of long detection time and inaccurate interference correction in existing technologies, and realizing real-time and accurate blood oxygen saturation detection.
Patent Information
- Application Number
- CN202310603213.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-05-25
- Publication Date
- 2026-03-06
- Estimated Expiration
- 2043-05-25
AI Technical Summary
Existing methods for detecting blood oxygen saturation require multiple linear fittings, resulting in high computational load and long processing time. They also cannot accurately correct interference in the pulse wave in real time, thus affecting detection accuracy.
By segmenting and aligning the infrared and red light AC components, the prediction coefficients and periodic average templates are determined, interference from local pulse wave segments is identified and corrected, the prediction coefficients and templates are updated, and blood oxygen saturation is calculated.
It enables real-time calculation of blood oxygen saturation, simplifies the calculation process, improves the accuracy and efficiency of detection, and can identify and correct all interference.
Smart Images

Figure CN116616762B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of blood oxygen saturation detection technology, and in particular to a method and device for detecting blood oxygen saturation using pulse waves. Background Technology
[0002] Blood oxygen saturation is the proportion of oxygenated hemoglobin in the total blood volume, reflecting the state of the body's cardiopulmonary function. It is an important physiological parameter for assessing the health of the cardiopulmonary function and circulatory system, indicating the oxygen content in the blood and determining whether the respiratory and circulatory systems are functioning normally.
[0003] In existing technologies, blood oxygen saturation detection is generally performed by calculating the similarity distance between any two periodic waveforms, eliminating abnormally fluctuating periodic waveforms, averaging the remaining periodic waveforms, extracting features based on the obtained periodic waveforms, using waveform similarity as a criterion to determine whether interference exists, and correcting the interference, thereby detecting blood oxygen saturation.
[0004] However, existing methods for detecting blood oxygen saturation require multiple linear fittings to obtain a corrected pulse wave. The entire process involves a large amount of computation, is prone to errors, cannot accurately correct the pulse wave to obtain an interference-free pulse wave, and is time-consuming, making it impossible to detect blood oxygen saturation in real time. Summary of the Invention
[0005] In view of this, it is necessary to provide a method and device for detecting blood oxygen saturation of pulse waves, so as to solve the problems in the prior art that blood oxygen saturation detection cannot guarantee the correction of all interferences in the pulse wave, and that the interference correction is computationally intensive and time-consuming, and cannot realize real-time blood oxygen saturation detection.
[0006] To achieve the above-mentioned technical objectives, the present invention adopts the following technical solution:
[0007] In a first aspect, the present invention provides a method for detecting blood oxygen saturation of a pulse wave, comprising:
[0008] The collected raw pulse wave data were preprocessed to obtain the infrared light AC component and the red light AC component, respectively.
[0009] The infrared and red light AC components are segmented to obtain several local pulse wave segments, and all local pulse wave segments are aligned.
[0010] The prediction coefficients and periodic average template are determined based on the aligned local pulse wave segments;
[0011] Determine whether there are interference segments in the current local pulse wave segment based on the prediction coefficient;
[0012] If there is interference in the current local pulse wave segment, the current local pulse wave segment is corrected according to the prediction coefficient and the period average template to obtain an interference-free pulse wave segment, and the prediction coefficient and the period average template are updated according to the first update rule.
[0013] Blood oxygen saturation was calculated based on interference-free pulse wave fragments and updated prediction coefficients.
[0014] In some possible implementations, the acquired raw pulse wave data is preprocessed to obtain the infrared AC component and the red AC component, including:
[0015] Raw pulse wave data is acquired through two optical channels to obtain infrared pulse wave data and red pulse wave data;
[0016] The infrared pulse wave data and the red pulse wave data are filtered to determine the DC component of the infrared pulse wave data and the DC component of the red pulse wave data.
[0017] The infrared and red light AC components are obtained from the infrared and red light pulse wave data before and after filtering.
[0018] In some possible implementations, the infrared and red light AC components are segmented separately to obtain several local pulse wave segments, and all local pulse wave segments are aligned, including:
[0019] Extreme points were detected for the infrared and red light AC components respectively.
[0020] The infrared and red light AC components are cut according to the distance between adjacent extreme points until the preset segmentation conditions are met, resulting in several local pulse wave segments.
[0021] Obtain the average number of sampling points for a local pulse wave segment, and align the local pulse wave segment based on the average number of sampling points.
[0022] In some possible implementations, the prediction coefficients and periodic average template are determined based on the aligned local pulse wave segments, including:
[0023] The candidate coefficient sequence is determined based on all aligned local pulse wave segments;
[0024] The predicted coefficients are determined based on the candidate coefficient sequence and a preset variance threshold.
[0025] The aligned local pulse wave segments are averaged to obtain the periodic average template.
[0026] In some possible implementations, the candidate coefficient sequence includes a first candidate coefficient sequence and a second candidate coefficient sequence; the predicted coefficients are determined based on the candidate coefficient sequence and a preset variance threshold, including:
[0027] The variance of R-value fluctuations for all local pulse wave segments is calculated based on the first candidate coefficient sequence.
[0028] When the variance of the R value fluctuation is less than or equal to the preset variance threshold, the average value of the first candidate coefficient sequence is set as the first prediction coefficient, the average value of the second candidate coefficient sequence is set as the second prediction coefficient, and the predicted pulse rate is calculated based on the distance between adjacent extreme points.
[0029] When the variance of the R value fluctuation exceeds the preset variance threshold, the preset variance threshold is updated.
[0030] In some possible implementations, determining whether there are interfering segments in the current local pulse wave segment based on the prediction coefficient includes:
[0031] The current local pulse wave segment is determined based on the extreme points and prediction coefficients;
[0032] The pulse wave prediction sequence and the current noise segment sequence are determined based on the current local pulse wave segment and the first prediction coefficient.
[0033] The average noise change ratio and pulse rate change ratio are determined based on the pulse wave prediction sequence and the current noise segment sequence, respectively.
[0034] The presence of interference segments in the current local pulse wave segment is determined based on the average noise change ratio, the pulse rate change ratio, and a preset interference threshold.
[0035] In some possible implementations, if the current local pulse wave segment contains interfering segments, the current local pulse wave segment is corrected based on the prediction coefficients and the periodic average template to obtain an interfering pulse wave segment, including:
[0036] Align the current local pulse wave segment according to the periodic average template;
[0037] The pulse wave prediction sequence and noise segment sequence are calculated based on the first prediction coefficient, the periodic average template, and the current local pulse wave segment.
[0038] The current local pulse wave segment is corrected based on the pulse wave prediction sequence, noise segment sequence, and periodic average template to obtain an interference-free pulse wave segment.
[0039] In some possible implementations, the predicted coefficients and periodic average templates are updated according to the first update rule, including:
[0040] The extreme point locations and the first prediction coefficients are updated based on the interference-free pulse wave segments;
[0041] The periodic average template is updated by averaging the interference-free pulse wave segments and the periodic average template.
[0042] Replace the current local pulse wave segment with the updated periodic average template.
[0043] In some possible implementations, if the current local pulse wave segment does not contain interfering segments, the prediction coefficients and periodic average template are updated according to the second update rule, including:
[0044] Update the candidate coefficient sequence and extreme point locations based on the current local pulse wave segment;
[0045] The first predicted coefficient, the second predicted coefficient, and the predicted pulse rate are updated based on the updated candidate coefficient sequence.
[0046] Align the current local pulse wave segment according to the periodic average template;
[0047] The periodic average template is updated by averaging the current local pulse wave segment and the periodic average template.
[0048] Secondly, the present invention also provides a blood oxygen saturation detection device, comprising:
[0049] The acquisition module is used to preprocess the acquired raw pulse wave data to obtain the infrared light AC component and the red light AC component respectively.
[0050] The preprocessing module is used to segment the infrared light AC component and the red light AC component to obtain several local pulse wave segments, and to align all the local pulse wave segments.
[0051] The parameter module is used to determine the prediction coefficients and periodic average template based on the aligned local pulse wave segments;
[0052] The interference identification module is used to determine whether there are interference segments in the current local pulse wave segment based on the prediction coefficient;
[0053] The correction module is used to correct the current local pulse wave segment according to the prediction coefficient and the period average template if there is an interference segment in the current local pulse wave segment, so as to obtain an interference-free pulse wave segment, and update the prediction coefficient and the period average template according to the first update rule.
[0054] The calculation module is used to calculate blood oxygen saturation based on interference-free pulse wave segments and updated prediction coefficients.
[0055] Thirdly, the present invention also provides an electronic device, including a memory and a processor, wherein,
[0056] Memory, used to store programs;
[0057] The processor, coupled to the memory, is used to execute the program stored in the memory to implement the steps in the pulse wave oxygen saturation detection method in any of the above implementations.
[0058] Fourthly, the present invention also provides a computer-readable storage medium for storing a computer-readable program or instruction, which, when executed by a processor, can implement the steps in the pulse wave blood oxygen saturation detection method described in any of the above implementations.
[0059] The beneficial effects of the above embodiments are as follows: The present invention relates to a method and device for detecting blood oxygen saturation of pulse waves. The method includes: preprocessing the acquired raw pulse wave data to obtain an infrared light AC component and a red light AC component; segmenting the infrared light AC component and the red light AC component to obtain several local pulse wave segments, and aligning all the local pulse wave segments; determining a prediction coefficient and a period average template based on the aligned local pulse wave segments; determining whether there is an interference segment in the current local pulse wave segment based on the prediction coefficient; if there is an interference segment in the current local pulse wave segment, correcting the current local pulse wave segment based on the prediction coefficient and the period average template to obtain an interference-free pulse wave segment, and updating the prediction coefficient and the period average template according to a first update rule; and calculating blood oxygen saturation based on the interference-free pulse wave segment and the updated prediction coefficient. This invention provides a method and device for detecting blood oxygen saturation from pulse waves. Based on aligned local pulse wave segments, prediction coefficients and periodic average templates are determined. The prediction coefficients are used to determine whether interference exists in the current local pulse wave, enabling real-time calculation. When interference exists, it is corrected using the prediction coefficients and periodic average templates. The prediction coefficients and periodic average templates are then updated to calculate blood oxygen saturation. This simplifies the blood oxygen saturation calculation process by eliminating the need for multiple linear fitting steps. Furthermore, based on the updated prediction coefficients, periodic average templates, and pulse wave data segments, all interference can be identified and corrected, improving the accuracy of the calculation results. Attached Figure Description
[0060] Figure 1 This is a schematic flowchart of an embodiment of a pulse wave blood oxygen saturation detection method provided by the present invention;
[0061] Figure 2 for Figure 1 A schematic flowchart of an embodiment of step S101;
[0062] Figure 3 for Figure 1A schematic flowchart of an embodiment of step S102;
[0063] Figure 4 for Figure 1 A schematic flowchart of an embodiment of step S103;
[0064] Figure 5 for Figure 4 A flowchart illustrating an embodiment of step S402;
[0065] Figure 6 for Figure 1 A flowchart illustrating an embodiment of step S104;
[0066] Figure 7 A flowchart illustrating an embodiment of correcting a current local pulse wave segment;
[0067] Figure 8 This is a flowchart illustrating an embodiment of updating the prediction coefficients and periodic average template according to a first update rule;
[0068] Figure 9 This is a flowchart illustrating an embodiment of updating the prediction coefficients and periodic average template according to a second update rule;
[0069] Figure 10 A schematic diagram of an embodiment of the pulse wave blood oxygen saturation detection device provided by the present invention;
[0070] Figure 11 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present invention. Detailed Implementation
[0071] Preferred embodiments of the present invention will now be described in detail with reference to the accompanying drawings, which form part of this application and are used together with the embodiments of the present invention to illustrate the principles of the present invention, but are not intended to limit the scope of the present invention.
[0072] In the description of this application, "multiple" means two or more, unless otherwise expressly and specifically defined.
[0073] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of the invention. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.
[0074] This invention provides a method and device for detecting blood oxygen saturation from a pulse wave, which will be described below.
[0075] Please see Figure 1 , Figure 1 This is a flowchart illustrating an embodiment of a pulse wave oxygen saturation detection method provided by the present invention. A specific embodiment of the present invention discloses a pulse wave oxygen saturation detection method, comprising:
[0076] S101. Preprocess the collected raw pulse wave data to obtain the infrared light AC component and the red light AC component respectively.
[0077] S102. The infrared light AC component and the red light AC component are segmented to obtain several local pulse wave segments, and all local pulse wave segments are aligned.
[0078] S103. Determine the prediction coefficients and periodic average template based on the aligned local pulse wave segments;
[0079] S104. Determine whether there is an interference segment in the current local pulse wave segment based on the prediction coefficient;
[0080] S105. If there is an interference segment in the current local pulse wave segment, the current local pulse wave segment is corrected according to the prediction coefficient and the period average template to obtain an interference-free pulse wave segment, and the prediction coefficient and the period average template are updated according to the first update rule.
[0081] S106. Calculate blood oxygen saturation based on the interference-free pulse wave fragment and the updated prediction coefficient.
[0082] In the above embodiments, non-invasive blood oxygen saturation measurement mainly utilizes photoplethysmography (PPG) technology to obtain photoplethysmogram signals (PPG) of monochromatic red and infrared light transmitted or reflected through human tissue. The transmitted PPG signal contains a large DC component and an AC component that varies periodically with the pulse. By using the AC and DC components of red and near-infrared light, respectively, the ratio of the mapping curve to arterial blood oxygen saturation, i.e., the R coefficient, can be obtained as shown in the following formula:
[0083] R = (AC) red DC ired ) / (AC ired DC red );
[0084] Among them, AC red For red light alternating component; DC red For the red light DC component, AC ired For infrared light AC component; DC ired This is the DC component of infrared light.
[0085] Then, pulse oxygen saturation (SpO2) can be obtained by looking up a table and using the R coefficient.
[0086] The blood oxygen saturation of the human body generally does not change continuously over a short period of time (e.g., within a few cycles of a pulse wave signal), meaning the characteristic value R can be considered constant during this period. Furthermore, the absorption coefficient of light passing through bloodless tissues (skin, bone, venous blood, other tissues, etc.) is constant and does not change with the pulsation process. Therefore, the DC component remains stable over a short period. From the above equation, it can be seen that the ratio of the reflected light intensity AC components of the two wavelengths is constant over a short period, meaning they are directly proportional.
[0087] Photoplethysmography (PPG) signals are acquired by transmitting two beams of light through the tissue end: one beam is red light and the other is infrared light. Therefore, the acquired raw pulse wave data includes both red and infrared raw pulse wave data. The infrared and red AC components are then further obtained.
[0088] Segmenting the infrared and red light AC components facilitates the processing of pulse wave data, eliminating the need to analyze the entire pulse wave data segment each time and reducing the complexity of the processing.
[0089] It should be noted that the pulse wave in this application is divided into red light pulse wave and infrared light pulse wave. When processing the data, the red light and infrared light need to be processed separately. For example, the infrared light AC component and the red light AC component are segmented separately, which yields the red light local pulse wave segment and the infrared light local pulse wave segment respectively. The same applies to determining the prediction coefficient and the period average template.
[0090] If the current local pulse wave segment is free of interference, the data needs to be updated based on the current local pulse wave segment first, and then the current local pulse wave segment should be used to directly replace the interference-free pulse wave segment for the calculation of blood oxygen saturation.
[0091] Compared with existing technologies, this embodiment provides a method for detecting blood oxygen saturation from pulse waves. The method includes: preprocessing the acquired raw pulse wave data to obtain an infrared light AC component and a red light AC component; segmenting the infrared light AC component and the red light AC component to obtain several local pulse wave segments, and aligning all the local pulse wave segments; determining prediction coefficients and a periodic average template based on the aligned local pulse wave segments; determining whether the current local pulse wave segment has an interfering segment based on the prediction coefficients; if the current local pulse wave segment has an interfering segment, correcting the current local pulse wave segment based on the prediction coefficients and the periodic average template to obtain an interfering pulse wave segment, and updating the prediction coefficients and the periodic average template according to a first update rule; and calculating blood oxygen saturation based on the interfering pulse wave segment and the updated prediction coefficients. This invention provides a method and device for detecting blood oxygen saturation from pulse waves. Based on aligned local pulse wave segments, prediction coefficients and periodic average templates are determined. The prediction coefficients are used to determine whether interference exists in the current local pulse wave, enabling real-time calculation. When interference exists, it is corrected using the prediction coefficients and periodic average templates. The prediction coefficients and periodic average templates are then updated to calculate blood oxygen saturation. This simplifies the blood oxygen saturation calculation process by eliminating the need for multiple linear fitting steps. Furthermore, based on the updated prediction coefficients, periodic average templates, and pulse wave data segments, all interference can be identified and corrected, improving the accuracy of the calculation results.
[0092] Please see Figure 2 , Figure 2 for Figure 1 A flowchart illustrating an embodiment of step S101. In some embodiments of the present invention, the collected raw pulse wave data is preprocessed to obtain infrared AC components and red AC components, including:
[0093] S201. Raw pulse wave data is acquired through two optical channels to obtain infrared pulse wave data and red pulse wave data;
[0094] S202. Filter the infrared pulse wave data and the red pulse wave data to determine the DC component of the infrared pulse wave data and the DC component of the red pulse wave data.
[0095] S203. Based on the infrared pulse wave data before filtering, the red pulse wave data, and the filtered infrared pulse wave data, the infrared AC component and the red AC component are obtained.
[0096] In the above embodiments, after obtaining infrared pulse wave data and red pulse wave data, the infrared pulse wave data and red pulse wave data are filtered by a high-pass filter respectively.
[0097] This filtering process uses a commonly used high-pass filter. The cutoff frequency is set according to the frequency band of the PPG signal, and is set to 0.5Hz. The filtered signal consists of the DC components of the infrared and red light signals. The DC ratio (DC) of the signal within that time segment is obtained by summing and averaging these components. ired / DC red .
[0098] After filtering, the infrared light AC component is obtained based on the infrared light pulse wave data before and after filtering, and the red light AC component is obtained based on the red light pulse wave data before and after filtering.
[0099] Please see Figure 3 , Figure 3 for Figure 1 A flowchart illustrating an embodiment of step S102 shows that, in some embodiments of the present invention, the infrared light AC component and the red light AC component are segmented to obtain several local pulse wave segments, and all local pulse wave segments are aligned, including:
[0100] S301. Perform extreme point detection on the infrared light AC component and the red light AC component respectively;
[0101] S302. Cut the infrared light AC component and the red light AC component according to the distance between adjacent extreme points until the preset segmentation condition is met, and obtain several local pulse wave segments.
[0102] S303. Obtain the average number of sampling points for a local pulse wave segment, and align the local pulse wave segment based on the average number of sampling points.
[0103] In the above embodiments, the extreme points of the pulse wave are detected using the traditional peak-valley method. The red light AC component is used for illustration. The processing of the infrared light AC component is the same, so it will not be described in detail.
[0104] It should be noted that the extreme point to be detected can be either a peak value or a valley value; this invention does not impose further restrictions on this. If the length of the red light AC component is insufficient to detect the extreme point, the process returns to step S101 for re-acquisition and preprocessing.
[0105] After detecting the extreme points of the red light AC component, the red light AC component is segmented based on the distance between adjacent extreme points to obtain several local pulse wave segments of the red light AC component.
[0106] The cutting process will stop and alignment will begin when the following conditions are met:
[0107] 1) The number of cut-out local pulse wave segments is greater than the set threshold (e.g., 2 pulse wave segments);
[0108] 2) The distance between the above extreme points is uniform, for example, the root mean square error of the distance between extreme points meets the set conditions (such as when it is less than 1);
[0109] 3) The positions of the extreme points are continuous. For example, the extreme point positions of the three local pulse waves (M1, M2, M3) are [2, 57], [57, 112], and [112, 167], respectively. Then the positions of the extreme points of M1 and M2 are continuous, while the positions of M1 and M3 are not continuous.
[0110] The average number of sampling points of the cut-out red light local pulse wave segments is taken, and the cubic spline interpolation method in the existing technology is used to fill in the red light local pulse wave segments respectively, so that the number of sampling points of the multiple local pulse wave segments is the same. The same method is used to fill in the infrared light local pulse wave segments.
[0111] Please see Figure 4 , Figure 4 for Figure 1 A flowchart illustrating an embodiment of step S103. In some embodiments of the present invention, determining prediction coefficients and periodic average templates based on aligned local pulse wave segments includes:
[0112] S401. Determine the candidate coefficient sequence based on all aligned local pulse wave segments;
[0113] S402. Determine the predicted coefficients based on the candidate coefficient sequence and the preset variance threshold.
[0114] S403. Average the aligned local pulse wave segments to obtain the periodic average template.
[0115] In the above embodiment, the sequence length of the cut and aligned single-segment local pulse wave is n, then the single-segment infrared light AC component sequence and red light AC component sequence are represented as x = {x1, x2, ... x}, respectively. n} and y = {y1, y2, ... y n}, establish a univariate linear regression equation, that is:
[0116] y = ax + b (1);
[0117] To ensure the linear regression equation produces the most ideal line, the deviation between the actual and estimated values must be minimized. Therefore:
[0118] d = (y1 - ax1 - b) 2 +(y²-ax²-b) 2 +...+(y n -axn -b) 2 (2);
[0119] At this point, coefficients a and b can be calculated using the least squares method. If the number of segmented local pulse waves is m, the first candidate coefficient sequence of all local pulse waves can be obtained as A = {a1, a2, ..., a...} following the above steps. m The second candidate coefficient sequence is B = {b1, b2, ..., b}. m}
[0120] Point-to-point averaging of all local pulse wave segments of the aforementioned red and infrared AC components is performed to obtain the red periodic averaging template X = {X1, X2, ..., X...}. k} and the infrared light periodic template Y = {Y1, Y2, ..., Y} k}, where k represents the number of points in the periodic average template.
[0121] Please see Figure 5 , Figure 5 for Figure 4 A flowchart illustrating an embodiment of step S402. In some embodiments of the present invention, the candidate coefficient sequence includes a first candidate coefficient sequence and a second candidate coefficient sequence; determining the predicted coefficients based on the candidate coefficient sequence and a preset variance threshold includes:
[0122] S501. Calculate the variance of R-value fluctuations for all local pulse wave segments based on the first candidate coefficient sequence;
[0123] S502. When the variance of the R value fluctuation is less than or equal to the preset variance threshold, the average value of the first candidate coefficient sequence is set as the first prediction coefficient, the average value of the second candidate coefficient sequence is set as the second prediction coefficient, and the predicted pulse rate is calculated based on the distance between adjacent extreme points.
[0124] S503. When the variance of the R value fluctuation is greater than the preset variance threshold, the preset variance threshold is updated.
[0125] In the above embodiment, the AC ratio R of red light to infrared light is stable over a short period of time, and the DC component is stable and constant over a short period of time. Therefore, the ratio of the AC components of red light to infrared light is a constant over a short period of time (corresponding to the coefficient a in the regression equation). This can be determined according to the coefficient sequence A = {a1, a2, ..., a...}. m The variance of the R-value fluctuation of multiple local pulse wave segments is determined by the variance of the R-value.
[0126]
[0127] In the formula This represents the mean of the regression coefficient sequence A. Here, the calculated variance is used to determine the stationarity of the current local pulse wave segment. If the variance is less than or equal to a set threshold T (e.g., 0.001, which is the initial value here), it indicates that the current local pulse wave segment is in a stationary state and is less affected by noise. At this point, Set as the first prediction coefficient Simultaneously calculate the average power value of noise segment sequence B.
[0128]
[0129] Set it as the second prediction coefficient Simultaneously, the predicted pulse rate is calculated using the distance between extreme points. Historical extreme point location Update the position of the most recent local pulse wave segment extreme point and proceed to the next step; if the variance value is greater than the set threshold T, it indicates that the current local pulse wave segment has poor stability and is greatly affected by noise. The threshold T is updated using the following formula (5):
[0130]
[0131] In the above formula, nn represents the case where the consecutive nnth power of the variance is less than or equal to the threshold T. Then, the process jumps back to step S102 to continue searching and cutting the pulse wave.
[0132] Please see Figure 6 , Figure 6 for Figure 1 A flowchart illustrating an embodiment of step S104. In some embodiments of the present invention, determining whether there is an interference segment in the current local pulse wave segment based on the prediction coefficient includes:
[0133] S601. Determine the current local pulse wave segment based on the extreme points and prediction coefficients;
[0134] S602. Determine the pulse wave prediction sequence and the current noise segment sequence based on the current local pulse wave segment and the first prediction coefficient;
[0135] S603. Determine the average noise change ratio and pulse rate change ratio based on the pulse wave prediction sequence and the current noise segment sequence, respectively.
[0136] S604. Determine whether there is an interference segment in the current local pulse wave segment based on the average noise change ratio, the pulse rate change ratio, and the preset interference threshold.
[0137] In the above embodiments, the location of historical extreme points With predicted pulse rate To predict the location of extreme points in a local pulse wave under red light, a candidate sequence is defined here:
[0138]
[0139] Where fs is the sampling rate, l is the predicted search range (e.g., set to 0.2), and the extreme value in the candidate sequence L is used as the current extreme point id. When the length of the red light AC component sequence is insufficient to detect an extreme point, the calculation stops and returns to step S101. Conversely, based on historical extreme points... The pulse wave is segmented with respect to the current extreme point id to obtain the local pulse wave of the current segment of the infrared light exchange sequence: x = {x1, x2, ..., x...} p},in Let be the length of the current local pulse wave segment. Similarly, using the above method, the current local pulse wave segment y = {y1, y2, ..., y...} of the red light AC sequence can be obtained. p}
[0140] Based on the first prediction coefficient The local pulse wave of the current segment of infrared light is x = {x1, x2, ..., x} p}, thus obtaining the red light prediction value sequence The calculation method is as follows:
[0141]
[0142] The current noise segment sequence can then be defined as: Calculate the current average noise power value according to the above formula (4).
[0143] Based on the principle of spectral subtraction, assuming the pulse wave is stationary over a short period (e.g., within a few pulse cycles), the eigenvalue R can be considered constant during this time. Therefore, the coefficient a can also be considered constant in the short term. Thus, in the absence of interference or with very low interference, noise segment b will be in a stable or slowly changing state, and its average power will fluctuate slowly within a small range. Current average noise power value. With the predicted average noise power value A smaller difference indicates a smaller ratio of change between the two noise levels, suggesting that the noise is in a stable or slowly changing state and the pulse wave is not disturbed. Conversely, a larger difference indicates that the pulse wave is disturbed, and the larger the ratio of change is. The average noise change ratio Rb is defined as follows:
[0144]
[0145] Simultaneously, the current pulse rate PR is calculated based on the distance between the predicted extreme point and the current extreme point. Similarly, if the pulse rate change is small, it indicates good stability and less interference; conversely, it indicates that the pulse wave has been disturbed, and its change ratio is larger. The pulse rate change ratio Rp is defined as follows:
[0146]
[0147] The recognition coefficient IF is defined based on the ratio of pulse rate change Rp to the ratio of average noise change Rb.
[0148] IF=λRp+(1-λ)Rb (9);
[0149] In the above formula, λ is the weighting coefficient in the recognition coefficient, and its value can be set freely. Considering that the pulse rate change generally has a greater impact on the shape of the pulse wave, and the change in the average power value of noise is relatively greater, the weighting coefficient λ is chosen to be 0.9.
[0150] The presence of interference is determined by checking whether the calculated recognition coefficient IF is less than a set threshold (here, the threshold is a user-defined value; a smaller IF indicates less change, and here it is set to 0.01). If it is less than the set threshold, it indicates that the pulse wave morphology is stable and has good stability, and the coefficient is updated according to the second update rule; otherwise, it indicates that the pulse wave is significantly affected by noise and has poor stability, requiring waveform correction for local pulse wave segments.
[0151] Please see Figure 7 , Figure 7 This is a flowchart illustrating an embodiment of correcting a current local pulse wave segment. In some embodiments of the present invention, if the current local pulse wave segment contains interfering segments, the current local pulse wave segment is corrected based on prediction coefficients and a period-averaged template to obtain an interfering pulse wave segment, including:
[0152] S701. Align the current local pulse wave segment according to the periodic average template;
[0153] S702. Calculate the pulse wave prediction sequence and noise segment sequence based on the first prediction coefficient, the periodic average template and the current local pulse wave segment;
[0154] S703. Correct the current local pulse wave segment based on the pulse wave prediction sequence, noise segment sequence and periodic average template to obtain an interference-free pulse wave segment.
[0155] In the above embodiments, the periodic average template and the average number of sampling points of the current local pulse wave segment are supplemented by the cubic spline interpolation method in the prior art to make the number of sampling points the same.
[0156] Assume the periodic average template for predicting infrared light is X = {X1, X2, ..., Xk}, and the periodic average template for red light is Y = {Y1, Y2, ..., Yk}. k}, using predicted values The red light prediction sequence was calculated using the infrared light periodic average template X:
[0157]
[0158] When the current local pulse wave segment is an interfering pulse wave segment, the red light local pulse wave segment is predicted based on the infrared local pulse wave x, resulting in a red light predicted noisy segment sequence:
[0159]
[0160] Based on the above red light prediction sequence and the red light prediction sequence with noise, the noise segment in the red light is obtained:
[0161]
[0162] After obtaining B1, the current local pulse wave segment y is corrected to obtain the corrected red light local pulse wave.
[0163]
[0164] Similarly, based on the predicted value The infrared light prediction sequence was calculated using the infrared light periodic average template Y:
[0165]
[0166] Based on the local pulse wave y of infrared light, the predicted sequence of local pulse wave of red light is obtained:
[0167]
[0168] Define the sequence of interference received by red light: The corrected infrared local pulse wave segment is obtained by correcting the current red light local pulse wave x:
[0169]
[0170] Please see Figure 8 , Figure 8 This is a flowchart illustrating an embodiment of updating the prediction coefficients and periodic average template according to a first update rule. In some embodiments of the present invention, updating the prediction coefficients and periodic average template according to the first update rule includes:
[0171] S801. Update the extreme point location and the first prediction coefficient based on the interference-free pulse wave segment;
[0172] S802. The periodic average template is updated by averaging the interference-free pulse wave segments and the periodic average template.
[0173] S803: Replace the current local pulse wave segment with the updated periodic average template.
[0174] In the above embodiments, a modified red light local pulse wave segment is used. With infrared local pulse wave fragments The current coefficients a and b are calculated according to formula (2) above. Given that the local pulse wave segment at this time is an interference segment and the noise value change is not stable, to prevent the introduction of large errors, the average noise power value is predicted. With predicted pulse rate None of them will be updated; historical extreme point locations Updated to: Simultaneously, the following formula is used to predict the value. Update:
[0175]
[0176] Here, μ is set to 0.7.
[0177] The periodic average templates of red and infrared light and the corrected local pulse wave segments are averaged to update the periodic average templates of red and infrared light respectively.
[0178] Then, the current local pulse wave segment of red light is replaced with the updated periodic average template of red light; the current local pulse wave segment of infrared light is replaced with the periodic average template of infrared light.
[0179] Since the blood oxygen saturation of the human body generally does not change continuously in a short period of time (e.g., within a few cycles of the pulse wave signal), if the interference lasts for too long, the blood oxygen saturation may change accordingly. At this time, the period average template and the predicted coefficient value may cause a large deviation. Therefore, a counting threshold is set here (the threshold can be set by yourself and is not required). When identifying interference, the interfering pulse wave segments are counted. If the continuous interfering pulse wave segment is less than the counting threshold, the pulse rate is kept at the value of the previous moment, and the blood oxygen saturation is calculated. Conversely, if the continuous interfering pulse wave segment is greater than or equal to the counting threshold, the interference lasts for a long time. All predicted coefficients and period average templates are cleared, and the process returns to step S102 to re-cut and align.
[0180] Please see Figure 9 , Figure 9This is a flowchart illustrating an embodiment of updating the prediction coefficients and periodic average template according to a second update rule. In some embodiments of the present invention, if the current local pulse wave segment does not have an interfering segment, updating the prediction coefficients and periodic average template according to the second update rule includes:
[0181] S901. Update the candidate coefficient sequence and extreme point positions based on the current local pulse wave segment;
[0182] S902. Update the first predicted coefficient, the second predicted coefficient, and the predicted pulse rate according to the updated candidate coefficient sequence;
[0183] S903. Align the current local pulse wave segment according to the periodic average template;
[0184] S904. The periodic average template is updated by averaging the current local pulse wave segment and the periodic average template.
[0185] In the above embodiment, based on the local pulse wave y of the current segment of red light and the local pulse wave x of the current segment of infrared light, the current coefficients a and b are calculated according to the above formula (2). At this time, the first prediction coefficient... Second prediction coefficient Predicted pulse rate All updates are performed using the following formula:
[0186]
[0187] In the formula, p represents the current value. This represents the predicted value, and μ represents the forgetting factor. A smaller μ indicates a smaller influence from historical values; here, μ is set to 0.7. Then, the locations of historical extreme points are... Updated to:
[0188] Take the interference-free periodic average template and the average number of sampling points of the current local pulse wave, and use the cubic spline interpolation method in the existing technology to complete the local pulse wave and the periodic average template so that the number of sampling points is the same.
[0189] The periodic average templates of red light and infrared light are averaged with the current local pulse wave to obtain the periodic average templates of red light and infrared light respectively.
[0190] Based on the DC components of the infrared and red light signals, and the predicted value The R value was calculated as follows:
[0191]
[0192] Blood oxygen saturation can then be calculated using a lookup table. Interference identification and coefficient calculation are then repeated to achieve real-time calculation of blood oxygen saturation.
[0193] To better implement the pulse wave oxygen saturation detection method in this embodiment of the invention, based on the pulse wave oxygen saturation detection method, please refer to the corresponding documentation. Figure 10 , Figure 10 This is a schematic diagram of an embodiment of the pulse wave oxygen saturation detection device provided by the present invention. The embodiment of the present invention provides a pulse wave oxygen saturation detection device 1000, comprising:
[0194] The acquisition module 1010 is used to preprocess the acquired raw pulse wave data to obtain the infrared light AC component and the red light AC component respectively.
[0195] The preprocessing module 1020 is used to segment the infrared light AC component and the red light AC component to obtain several local pulse wave segments, and to align all the local pulse wave segments.
[0196] Parameter module 1030 is used to determine the prediction coefficients and periodic average template based on the aligned local pulse wave segments;
[0197] Interference identification module 1040 is used to determine whether there is an interference segment in the current local pulse wave segment based on the prediction coefficient;
[0198] The correction module 1050 is used to correct the current local pulse wave segment according to the prediction coefficient and the period average template if there is an interference segment in the current local pulse wave segment, so as to obtain an interference-free pulse wave segment, and update the prediction coefficient and the period average template according to the first update rule.
[0199] The calculation module 1060 is used to calculate blood oxygen saturation based on the interference-free pulse wave segment and the updated prediction coefficients.
[0200] It should be noted that the device 1000 provided in the above embodiments can implement the technical solutions described in the above method embodiments. The specific implementation principles of the above modules or units can be found in the corresponding content in the above method embodiments, and will not be repeated here.
[0201] Please see Figure 11 , Figure 11 This is a schematic diagram of the electronic device provided in an embodiment of the present invention. Based on the above-described pulse wave oxygen saturation detection method, the present invention also provides a pulse wave oxygen saturation detection device, which can be a mobile terminal, desktop computer, laptop, handheld computer, server, or other computing device. The pulse wave oxygen saturation detection device includes a processor 1110, a memory 1120, and a display 1130. Figure 11Only some components of the electronic device are shown; however, it should be understood that it is not required to implement all of the components shown, and more or fewer components may be implemented instead.
[0202] In some embodiments, memory 1120 may be an internal storage unit of the pulse wave oxygen saturation detection device, such as the hard drive or memory of the pulse wave oxygen saturation detection device. In other embodiments, memory 1120 may be an external storage device of the pulse wave oxygen saturation detection device, such as a plug-in hard drive, smart media card (SMC), secure digital (SD) card, flash card, etc., equipped on the pulse wave oxygen saturation detection device. Furthermore, memory 1120 may include both internal and external storage units of the pulse wave oxygen saturation detection device. Memory 1120 is used to store application software and various types of data installed on the pulse wave oxygen saturation detection device, such as the program code of the pulse wave oxygen saturation detection device. Memory 1120 may also be used to temporarily store data that has been output or will be output. In one embodiment, the memory 1120 stores a pulse wave oxygen saturation detection program 1140, which can be executed by the processor 1110 to implement the pulse wave oxygen saturation detection method of the various embodiments of this application.
[0203] In some embodiments, processor 1110 may be a central processing unit (CPU), microprocessor or other data processing chip, used to run program code stored in memory 1120 or process data, such as performing a pulse wave blood oxygen saturation detection method.
[0204] In some embodiments, display 1130 may be an LED display, a liquid crystal display, a touch-sensitive liquid crystal display, or an OLED (Organic Light-Emitting Diode) touchscreen. Display 1130 is used to display information from the pulse wave oxygen saturation detection device and to display a visual user interface. Components 1110-1130 of the pulse wave oxygen saturation detection device communicate with each other via a system bus.
[0205] In one embodiment, when the processor 1110 executes the pulse wave oxygen saturation detection program 1140 in the memory 1120, the steps in the pulse wave oxygen saturation detection method described above are implemented.
[0206] This embodiment also provides a computer-readable storage medium storing a pulse wave oxygen saturation detection program, which, when executed by a processor, performs the following steps:
[0207] The collected raw pulse wave data were preprocessed to obtain the infrared light AC component and the red light AC component, respectively.
[0208] The infrared and red light AC components are segmented to obtain several local pulse wave segments, and all local pulse wave segments are aligned.
[0209] The prediction coefficients and periodic average template are determined based on the aligned local pulse wave segments;
[0210] Determine whether there are interference segments in the current local pulse wave segment based on the prediction coefficient;
[0211] If there is interference in the current local pulse wave segment, the current local pulse wave segment is corrected according to the prediction coefficient and the period average template to obtain an interference-free pulse wave segment, and the prediction coefficient and the period average template are updated according to the first update rule.
[0212] Blood oxygen saturation was calculated based on interference-free pulse wave fragments and updated prediction coefficients.
[0213] In summary, this embodiment provides a method and device for detecting blood oxygen saturation from pulse waves. The method includes: preprocessing the acquired raw pulse wave data to obtain an infrared light AC component and a red light AC component; segmenting the infrared light AC component and the red light AC component to obtain several local pulse wave segments, and aligning all the local pulse wave segments; determining prediction coefficients and period average templates based on the aligned local pulse wave segments; determining whether there are interference segments in the current local pulse wave segment based on the prediction coefficients; if there are interference segments in the current local pulse wave segment, correcting the current local pulse wave segment based on the prediction coefficients and the period average template to obtain interference-free pulse wave segments, and updating the prediction coefficients and the period average template according to a first update rule; and calculating blood oxygen saturation based on the interference-free pulse wave segments and the updated prediction coefficients. This invention provides a method and device for detecting blood oxygen saturation from pulse waves. Based on aligned local pulse wave segments, prediction coefficients and periodic average templates are determined. The prediction coefficients are used to determine whether interference exists in the current local pulse wave, enabling real-time calculation. When interference exists, it is corrected using the prediction coefficients and periodic average templates. The prediction coefficients and periodic average templates are then updated to calculate blood oxygen saturation. This simplifies the blood oxygen saturation calculation process by eliminating the need for multiple linear fitting steps. Furthermore, based on the updated prediction coefficients, periodic average templates, and pulse wave data segments, all interference can be identified and corrected, improving the accuracy of the calculation results.
[0214] The above description is only a preferred embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.
Claims
1. A method of detecting blood oxygen saturation of a pulse wave, characterized by, The method comprises the following steps: preprocessing the collected original pulse wave data to obtain infrared light AC component and red light AC component respectively; segmenting the infrared light AC component and the red light AC component to obtain a plurality of local pulse wave segments, and aligning all the local pulse wave segments; determining a prediction coefficient and a periodic average template according to the aligned local pulse wave segments; judging whether the current local pulse wave segment has an interference segment according to the prediction coefficient; if the current local pulse wave segment has an interference segment, correcting the current local pulse wave segment according to the prediction coefficient and the periodic average template to obtain a non-interference pulse wave segment, and updating the prediction coefficient and the periodic average template according to a first updating rule; calculating the blood oxygen saturation according to the non-interference pulse wave segment and the updated prediction coefficient; the step of segmenting the infrared light AC component and the red light AC component to obtain a plurality of local pulse wave segments, and aligning all the local pulse wave segments, comprises the following steps: detecting extreme points of the infrared light AC component and the red light AC component respectively; cutting the infrared light AC component and the red light AC component according to the distance between adjacent extreme points until a preset segmentation condition is met to obtain a plurality of local pulse wave segments; obtaining the average sampling point number of the local pulse wave segments, and aligning the local pulse wave segments according to the average sampling point number; the step of determining a prediction coefficient and a periodic average template according to the aligned local pulse wave segments, comprises the following steps: determining a candidate coefficient sequence according to all the aligned local pulse wave segments; determining a prediction coefficient according to the candidate coefficient sequence and a preset variance threshold; obtaining a periodic average template by averaging the aligned local pulse wave segments; the candidate coefficient sequence comprises a first candidate coefficient sequence and a second candidate coefficient sequence; the step of determining a prediction coefficient according to the candidate coefficient sequence and a preset variance threshold, comprises the following steps: calculating the R value fluctuation variance of all the local pulse wave segments according to the first candidate coefficient sequence, wherein the R value is the ratio of the red light AC component to the infrared light AC component; when the R value fluctuation variance is less than or equal to the preset variance threshold, setting the average value of the first candidate coefficient sequence as a first prediction coefficient, setting the average value of the second candidate coefficient sequence as a second prediction coefficient, and calculating a predicted pulse rate according to the distance between adjacent extreme points; when the R value fluctuation variance is greater than the preset variance threshold, updating the preset variance threshold; the step of judging whether the current local pulse wave segment has an interference segment according to the prediction coefficient, comprises the following steps: determining a current local pulse wave segment according to the extreme points and the prediction coefficient; determining a pulse wave prediction sequence and a current noise segment sequence according to the current local pulse wave segment and the first prediction coefficient; The current noise average power value of the current noise segment sequence is calculated, the noise average change ratio is calculated according to the current noise average power value and the predicted noise average power value, the current pulse rate is calculated according to the distance between the predicted extreme point and the current extreme point, and the pulse rate change ratio is calculated according to the current pulse rate and the predicted pulse rate; The current local pulse wave segment is determined to have an interference segment based on the noise average change ratio, the pulse rate change ratio, and a preset interference threshold.
2. The method of claim 1, wherein the blood oxygen saturation level of the pulse wave is detected by using a pulse oximeter. The collected original pulse wave data is preprocessed to obtain infrared light AC components and red light AC components, including: Original pulse wave data is collected through two light paths to obtain infrared light pulse wave data and red light pulse wave data; The infrared light pulse wave data and the red light pulse wave data are filtered to determine the DC components of the infrared light pulse wave data and the red light pulse wave data; The infrared light AC components and the red light AC components are obtained according to the infrared light pulse wave data and the red light pulse wave data before filtering and the infrared light pulse wave data and the red light pulse wave data after filtering.
3. The method of claim 1, wherein the step of calculating the blood oxygen saturation level of the pulse wave is performed by using a correlation equation between the blood oxygen saturation level and the ratio of the two pulse wave signals. If the current local pulse wave segment has an interference segment, the current local pulse wave segment is corrected according to the prediction coefficient and the periodic average template to obtain a non-interference pulse wave segment, including: The current local pulse wave segment is aligned according to the periodic average template; A pulse wave prediction sequence and a noise segment sequence are calculated according to the first prediction coefficient, the periodic average template, and the current local pulse wave segment; The current local pulse wave segment is corrected according to the pulse wave prediction sequence, the noise segment sequence, and the periodic average template to obtain a non-interference pulse wave segment.
4. The method of claim 3, wherein the step of calculating the blood oxygen saturation level of the pulse wave is performed by using the following equation: ###0001### where R is the blood oxygen saturation level of the pulse wave, and A and B are constants. The prediction coefficient and the periodic average template are updated according to the first update rule, including: The extreme point position and the first prediction coefficient are updated according to the non-interference pulse wave segment; The periodic average template is updated by average processing according to the non-interference pulse wave segment and the periodic average template; The updated periodic average template replaces the current local pulse wave segment.
5. A blood oxygen saturation detecting apparatus for carrying out the pulse wave blood oxygen saturation detecting method according to any one of claims 1 to 4, characterized by It includes: A collection module is configured to preprocess collected original pulse wave data to obtain infrared light AC components and red light AC components; A preprocessing module is configured to segment the infrared light AC components and the red light AC components to obtain a plurality of local pulse wave segments, and align all the local pulse wave segments; A parameter module is configured to determine a prediction coefficient and a periodic average template according to the aligned local pulse wave segments; An interference identification module is configured to determine whether a current local pulse wave segment has an interference segment according to the prediction coefficient; A correction module is configured to correct the current local pulse wave segment according to the prediction coefficient and the periodic average template to obtain a non-interference pulse wave segment if the current local pulse wave segment has an interference segment, and update the prediction coefficient and the periodic average template according to a first update rule; A calculation module is configured to calculate blood oxygen saturation according to the non-interference pulse wave segment and the updated prediction coefficient.
Citation Information
Patent Citations
Method for detecting blood oxygen saturation
CN101433463A
Blood oxygen detection method, device, electronic equipment and storage medium
CN111603174A
Blood oxygen saturation detection device and system and storage medium
CN113768499A