Pulse rate and oxyhemoglobin saturation calculation method and system based on signal processing

By processing the PPG signal in a window and combining the results of rough channels and detailed channels, the problems of insufficient accuracy and high computational complexity when the signal strength is weak in the prior art are solved, and blood oxygen saturation calculation with high accuracy and low computational complexity are achieved.

CN119700099APending Publication Date: 2025-03-28BEIJING WANYEE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411774766.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-04
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The prior art lacks accuracy when processing PPG signals with weak signal strength, and the DST adaptive filter has high computational complexity, which is not suitable for real-time or resource-constrained application scenarios.

Method used

The pulse rate value is determined by processing the inlet signal in a window, finding the maximum and minimum value points, calculating the time difference between adjacent maximum and minimum points, and combining the results of the rough channel and the detailed channel to calculate the blood oxygen saturation.

Benefits of technology

It realizes high accuracy and low computational complexity pulse rate and blood oxygen saturation calculations, which are suitable for PPG signals of different signal strengths, and are suitable for resource-constrained devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119700099A_ABST
    Figure CN119700099A_ABST
Patent Text Reader

Abstract

The invention discloses a pulse rate and oxyhemoglobin saturation calculation method and system based on signal processing. According to the method, the maximum value point and the minimum value point in the signal are accurately identified by analyzing the input signal and adopting the window-dividing processing technology, and the time difference between the adjacent extreme points is calculated, so that the pulse rate value is accurately determined. Furthermore, results of the rough channel and the detailed channel are combined, the direct current component and the first harmonic component are utilized, and the oxyhemoglobin saturation is calculated. The technical scheme is not only suitable for the condition that the signal intensity is weak, but also can be realized on a low-performance processor, and quick response of calculation is ensured. According to the method, the accuracy and the stability of blood oxygen saturation measurement are improved, and meanwhile, the calculation complexity is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of physiological signal processing, and in particular to a pulse rate and blood oxygen saturation calculation method and system based on signal processing. Background Art

[0002] At present, the calculation methods of blood oxygen saturation mainly include the following representative technologies:

[0003] R / IR conventional blood oxygen method: This is a traditional blood oxygen saturation measurement method that calculates blood oxygen saturation by comparing the difference in the propagation of red light and infrared light in tissues. However, this method has low accuracy when processing PPG (photoplethysmography) signals with weak signal strength.

[0004] DST adaptive filter: This method can calculate weak signals with high accuracy, but the computational complexity is high and it is not suitable for real-time or resource-constrained application scenarios.

[0005] FST frequency domain transform: By performing FFT (Fast Fourier Transform) analysis on the PPG signal, the frequency domain characteristics of the signal can be obtained, which can be used to calculate the heart rate and blood oxygen saturation. This method can effectively extract useful physiological information from noise.

[0006] SST sine transform: This is a signal processing technique that analyzes the signal by converting the time domain signal into a linear combination of sine and cosine functions. It is suitable for processing periodic signals.

[0007] The main drawback of the existing technology is that the R / IR conventional blood oxygen method is not accurate enough when the signal strength is weak, while the DST adaptive filter has high accuracy but high computational complexity. In addition, although the FST and SST methods are effective in specific situations, they may have limitations in real-time performance and computing resource requirements. Summary of the invention

[0008] Based on this, the embodiments of the present application provide a pulse rate and blood oxygen saturation calculation method and system based on signal processing, which has high accuracy, low computational complexity, and can adapt to PPG signals of different signal strengths.

[0009] In a first aspect, a method for calculating pulse rate and blood oxygen saturation based on signal processing is provided, the method comprising:

[0010] Process the incoming signal in windows, find the maximum and minimum points in each window, and record the positions and values ​​of these points in a list; determine the pulse rate value by comparing the selected maximum and minimum points and calculating the time difference between adjacent maximum and minimum points;

[0011] The length of the integration segment is determined according to the pulse rate value, and the blood oxygen saturation is calculated by combining the results of the rough channel and the detailed channel; wherein the rough channel provides a fast blood oxygen saturation estimation result, and the detailed channel provides an accurate blood oxygen saturation estimation result.

[0012] Optionally, the input signal is specifically a Red signal and an Ir signal, wherein the Red signal is a light signal emitted by a red light LED, and the Ir signal is a light signal emitted by an infrared light LED.

[0013] Optionally, the input signal is processed in windows, the maximum and minimum points are found in each window, and the positions and values ​​of these points are recorded in a list, which also includes:

[0014] Add the input signal data to the data buffer and determine whether the data buffer is full;

[0015] When the buffer is full, explore the maximum and minimum points;

[0016] When the buffer is not full, continue to obtain the entry signal data and add it to the data buffer.

[0017] Optionally, the pulse rate value is determined by comparing the selected maximum point and minimum point and calculating the time difference between adjacent maximum points and minimum points, including:

[0018] Select according to the signal value, sort by signal value, delete the overlapping points from the list, and determine the modified list;

[0019] Then, according to the signal position, the selection is made, and for the previously selected maximum and minimum points, the time differences between the adjacent maximum and minimum points are calculated, and the set composed of them is formed into a set D, and the set D is further divided into subsets {D i}, as shown below:

[0020] At this time, the pulse rate hbr is calculated based on the average value of the subset with the largest number of elements;

[0021]

[0022] Among them, f * Indicates the pulse rate per second; D * Represents the subset with the most elements.

[0023] Optionally, the integration segment length is determined based on the pulse rate value, and the blood oxygen saturation is calculated by combining the results of the coarse channel and the detailed channel, including by the formula:

[0024]

[0025] Calculate the DC component and the first harmonic component separately, where: Indicates T k The red communication component of the moment, Indicates T k The infrared AC component at each moment, Indicates T k The red DC component at this moment, Indicates T k The infrared AC component at each moment, Indicates T k The red perfusion index of the moment, Indicates T k The red perfusion index at the moment, R(T k ) indicates T k The amount of injection at the time.

[0026] Optionally, after calculating the DC component and the first harmonic component, the method further comprises:

[0027]

[0028] Calculate vascular oxygen saturation, where C 0 =108.265,C 1 =-8.057,C 2 =-17.066,C 3 =-0.311.

[0029] In a second aspect, a pulse rate and blood oxygen saturation calculation system based on signal processing is provided, the system comprising:

[0030] The pulse rate calculation module is used to process the input signal in windows, find the maximum and minimum points in each window, and record the positions and values ​​of these points in a list; the pulse rate value is determined by comparing the selected maximum and minimum points and calculating the time difference between adjacent maximum and minimum points;

[0031] The blood oxygen saturation calculation module is used to determine the integration segment length according to the pulse rate value, and calculate the blood oxygen saturation by combining the results of the rough channel and the detailed channel; wherein the rough channel provides a fast blood oxygen saturation estimation result, and the detailed channel provides an accurate blood oxygen saturation estimation result.

[0032] In a third aspect, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, any method described in the first aspect is implemented.

[0033] In a fourth aspect, a computer-readable storage medium is provided, on which a computer program is stored, and when the computer program is executed by a processor, any method described in the first aspect is implemented.

[0034] In a fifth aspect, a computer program product is provided, comprising a computer program / instruction, which, when executed by a processor, implements any of the methods described in the first aspect.

[0035] The beneficial effects brought by the technical solution provided by the embodiment of the present application include at least:

[0036] (1) The computational complexity of the algorithm is reduced, making it possible to calculate blood oxygen saturation even on low-performance processors and can be applied to resource-constrained devices such as wearable devices and portable medical devices without sacrificing performance.

[0037] (2) By combining the calculation of the DC component and the first harmonic component, the accuracy and stability of blood oxygen saturation calculation can be improved when the signal strength is weak. BRIEF DESCRIPTION OF THE DRAWINGS

[0038] In order to more clearly illustrate the implementation methods of the present invention or the technical solutions in the prior art, the following briefly introduces the drawings required for the implementation methods or the description of the prior art. Obviously, the drawings in the following description are only exemplary, and for ordinary technicians in this field, other implementation drawings can be derived from the provided drawings without creative work.

[0039] Figure 1 A block diagram of a blood oxygen saturation calculation algorithm provided in an embodiment of the present application;

[0040] Figure 2 A flow chart of a pulse rate calculation algorithm provided in an embodiment of the present application;

[0041] Figure 3 A flowchart of a blood oxygen saturation calculation algorithm provided in an embodiment of the present application. DETAILED DESCRIPTION

[0042] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0043] In the description of the present invention, the terms "comprises", "has" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or apparatus comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may also include other steps or units that are not explicitly listed but are inherent to these processes, methods, products or apparatuses, or steps or units added based on further optimization schemes conceived by the present invention.

[0044] Please refer to Figure 2, which shows a block diagram of a blood oxygen saturation calculation algorithm in an embodiment, the method may include the following steps:

[0045] S1, process the input signal in windows, find the maximum and minimum points in each window, and record the positions and values ​​of these points in a list; determine the pulse rate value by comparing the selected maximum and minimum points and calculating the time difference between adjacent maximum and minimum points.

[0046] In this step, the pulse rate calculation is specifically implemented, and the continuous input signal is divided into windows of fixed length. The size of each window can be determined according to the characteristics of the signal and the expected pulse rate range to ensure that each window contains at least one complete pulse cycle. In each window, the maximum and minimum points of the signal are identified by the algorithm, which usually correspond to the peak and valley of the pulse wave.

[0047] The positions and values ​​of the extreme points identified in each window are recorded in lists. These lists are used to store the maximum and minimum points respectively. For overlapping windows, these extreme points need to be compared and filtered to avoid repeated calculations. The overlapping points are deleted from the lists to ensure that each point is only calculated once.

[0048] Calculate the time difference between adjacent maximum or minimum points, which reflects the periodicity of the pulse wave. Divide these time difference data into different subsets, each of which contains adjacent extreme point pairs. Select the subset with the largest number of elements and use its average value as the estimated result of the pulse rate, which can reduce the impact of outliers and improve the accuracy of pulse rate calculation.

[0049] In this embodiment, the input signal includes:

[0050] Red: Indicates the light signal emitted by a red LED. Red light refers to visible light with a wavelength in the range of 600-700 nanometers, which is commonly used in blood oxygen saturation monitoring equipment to measure the concentration of oxygenated hemoglobin in the blood.

[0051] Ir (infrared light): refers to the light signal emitted by infrared light LED. Infrared light refers to invisible light with a wavelength above 700 nanometers, which is usually used in blood oxygen saturation monitoring equipment to measure the concentration of reduced hemoglobin in the blood.

[0052] like Figure 2 A flow chart of the pulse rate calculation algorithm is given, specifically:

[0053] Group the input signals into windows of a certain size, find the position and value of the maximum and minimum points in the window, and add them to the list respectively and In this case, the position is not at both ends of the window. If a certain number of lists and If it is not filled, move the window position to the right so that it overlaps with the previous window by 2, find the extreme points as before, and continue to add them to the list. After filling, you can enter the next process.

[0054] First, a selection is made based on the signal value. List and The points in are sorted by signal value, and the overlapping points are deleted from the list. The modified lists are recorded as and

[0055]

[0056] Then the signal position is selected. For the previously selected maximum and minimum points, the time differences between adjacent maximum and minimum points are calculated, and the set consisting of them is set D. Set D is further divided into subsets {D i}, as shown below:

[0057]

[0058]

[0059]

[0060] At this time, the pulse rate hbr is calculated based on the average value of the subset with the largest number of elements among the subsets.

[0061]

[0062] S2, determining the length of the integration segment according to the pulse rate value, and calculating the blood oxygen saturation by combining the results of the rough channel and the detailed channel; wherein the rough channel provides a fast blood oxygen saturation estimation result, and the detailed channel provides an accurate blood oxygen saturation estimation result.

[0063] In this step, the blood oxygen saturation calculation is realized. According to the pulse rate value calculated in step S1, the length of the integral segment used for the blood oxygen saturation calculation is determined. This length usually corresponds to the cycle of the pulse wave to ensure that the blood oxygen saturation is calculated on average in each cycle.

[0064] The coarse channel uses a simplified algorithm to quickly estimate blood oxygen saturation. The detailed channel uses a more complex algorithm to extract the frequency components related to blood oxygen saturation. By analyzing the DC component and the first harmonic component, combined with the pulse rate value, a specific physiological model and algorithm are used to accurately calculate the blood oxygen saturation.

[0065] The fast estimation results of the coarse channel and the precise estimation results of the detailed channel are combined to improve the accuracy and reliability of blood oxygen saturation calculation.

[0066] In an optional embodiment of the present application, the entry signal data is added to the data buffer, and it is determined whether the data buffer is full;

[0067] When the buffer is full, explore the maximum and minimum points;

[0068] When the buffer is not full, continue to obtain the entry signal data and add it to the data buffer.

[0069] like Figure 3 A flow chart of the blood oxygen saturation calculation algorithm is given, specifically:

[0070] The commonly used method for calculating blood oxygen saturation is the R / IR conventional method. If the signal strength is weak, the result may be unstable. To overcome this problem, FFT can be used to obtain the DC component and the first harmonic component, and these variables can be used to calculate blood oxygen saturation. In this case, the calculation complexity is O(nlogn).

[0071] The present invention proposes an algorithm with a computational complexity of O(n), which is used to calculate the DC component and the first harmonic component.

[0072] Using the following formula and the pulse rate value obtained previously, calculate the DC component and the first harmonic component respectively.

[0073]

[0074]

[0075]

[0076]

[0077] in, Indicates T k The red communication component of the moment, Indicates T k The infrared AC component at each moment, Indicates T k The red DC component at this moment, Indicates T k The infrared AC component at each moment, Indicates T k The red perfusion index of the moment, Indicates T k The red perfusion index at the moment, R(T k ) indicates T k The amount of injection at the time.

[0078] In order to ensure the accuracy and fast response of the calculation, the calculation is performed by configuring the coarse channel and the detailed channel.

[0079] From the above, it can be seen that the key points of this application are:

[0080] (1) Pulse rate calculation:

[0081] The maximum and minimum points are selected according to the signal value and position, and the pulse rate value is calculated based on them.

[0082] (2) Calculation of blood oxygen saturation:

[0083] Step 1: Calculate the length of the integration segment based on the calculated pulse rate value.

[0084] Step 2: Calculate blood oxygen saturation by combining the results of the coarse channel and the detailed channel.

[0085] Since the computational complexity is O(n), it can be fully implemented even using a low-performance processor (such as Cortex-M0).

[0086] In one embodiment of the present application, Figure 3 , and also provides a block diagram of a pulse rate and blood oxygen saturation calculation system based on signal processing, the system comprising:

[0087] The pulse rate calculation module is used to process the input signal in windows, find the maximum and minimum points in each window, and record the positions and values ​​of these points in a list; the pulse rate value is determined by comparing the selected maximum and minimum points and calculating the time difference between adjacent maximum and minimum points;

[0088] The blood oxygen saturation calculation module is used to determine the length of the integration segment according to the pulse rate value, and calculate the blood oxygen saturation by combining the results of the rough channel and the detailed channel; wherein the rough channel provides a fast blood oxygen saturation estimation result, and the detailed channel provides an accurate blood oxygen saturation estimation result.

[0089] For the specific definition of the pulse rate and blood oxygen saturation calculation system based on signal processing, please refer to the definition of the pulse rate and blood oxygen saturation calculation method based on signal processing above, which will not be repeated here. Each module in the above-mentioned pulse rate and blood oxygen saturation calculation system based on signal processing can be implemented in whole or in part by software, hardware and their combination. The above-mentioned modules can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.

[0090] In one embodiment, an electronic device is provided, which may be a computer. The electronic device includes a processor, a memory, and a network interface connected via a system bus. The processor of the device is used to provide computing and control capabilities. The memory of the device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to calculate data based on pulse rate and blood oxygen saturation processed by signal. The network interface of the computer device is used to communicate with an external terminal via a network connection. When the computer program is executed by the processor, a method for calculating pulse rate and blood oxygen saturation based on signal processing is implemented.

[0091] In one embodiment of the present application, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps of the above-mentioned pulse rate and blood oxygen saturation calculation method based on signal processing are implemented.

[0092] In one embodiment of the present application, a computer program product is provided, including a computer program / instruction, which, when executed by a processor, implements the steps of the above-mentioned pulse rate and blood oxygen saturation calculation method based on signal processing.

[0093] The computer-readable storage medium and computer program product provided in this embodiment have similar implementation principles and technical effects to those of the above method embodiments, and are not described in detail here.

[0094] Those of ordinary skill in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing related hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to memory, storage, database or other media used in the embodiments provided in this application may include non-volatile and / or volatile memory. Non-volatile memory may include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in M ​​forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link (SyMchliMk) DRAM (SLDRAM), memory bus (RaMbus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.

[0095] The technical features of the above-described embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above-described embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.

[0096] The above-described embodiments only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be construed as limiting the scope of the patent application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the patent application shall be subject to the attached claims.

Claims

1. A pulse rate and blood oxygen saturation calculation method based on signal processing, characterized in that: The method comprises: Process the incoming signal in windows, find the maximum and minimum points in each window, and record the positions and values ​​of these points in a list; determine the pulse rate value by comparing the selected maximum and minimum points and calculating the time difference between adjacent maximum and minimum points; The length of the integration segment is determined according to the pulse rate value, and the blood oxygen saturation is calculated by combining the results of the rough channel and the detailed channel; wherein the rough channel provides a fast blood oxygen saturation estimation result, and the detailed channel provides an accurate blood oxygen saturation estimation result.

2. The method according to claim 1, characterized in that The input signals are specifically Red signal and Ir signal, wherein the Red signal is a light signal emitted by a red light LED, and the Ir signal is a light signal emitted by an infrared light LED.

3. The method according to claim 1, characterized in that Process the input signal in windows, find the maximum and minimum points in each window, and record the positions and values ​​of these points in a list, including: Add the input signal data to the data buffer and determine whether the data buffer is full; When the buffer is full, explore the maximum and minimum points; When the buffer is not full, continue to obtain the entry signal data and add it to the data buffer.

4. The method according to claim 1, characterized in that: The pulse rate value is determined by comparing the selected maximum and minimum points and calculating the time difference between adjacent maximum and minimum points, including: Select according to the signal value, sort by signal value, delete the overlapping points from the list, and determine the modified list; Then, according to the signal position, the selection is made, and for the previously selected maximum and minimum points, the time differences between the adjacent maximum and minimum points are calculated, and the set composed of them is formed into a set D, and the set D is further divided into subsets {D i }, as shown below: At this time, the pulse rate hbr is calculated based on the average value of the subset with the largest number of elements; hbr=60*f * Among them, f * Indicates the pulse rate per second; D * Represents the subset with the most elements.

5. The method according to claim 1, characterized in that The integration segment length is determined based on the pulse rate value, and the blood oxygen saturation is calculated by combining the results of the coarse channel and the detailed channel, including through the formula: Calculate the DC component and the first harmonic component separately, where: Indicates T k The red communication component of the moment, Indicates T k The infrared AC component at each moment, Indicates T k The red DC component at this moment, Indicates T k The infrared AC component at each moment, Indicates T k The red perfusion index of the moment, Indicates T k The red perfusion index at the moment, R(T k ) indicates T k The amount of injection at the time.

6. The method according to claim 5, characterized in that After calculating the DC component and the first harmonic component, the method further comprises: The vascular oxygen saturation was calculated, where C0 = 108.265, C1 = -8.057, C2 = -17.066, and C3 = -0.

311.

7. A pulse rate and blood oxygen saturation calculation system based on signal processing, characterized in that: The system comprises: The pulse rate calculation module is used to process the input signal in windows, find the maximum and minimum points in each window, and record the positions and values ​​of these points in a list; the pulse rate value is determined by comparing the selected maximum and minimum points and calculating the time difference between adjacent maximum and minimum points; The blood oxygen saturation calculation module is used to determine the integration segment length according to the pulse rate value, and calculate the blood oxygen saturation by combining the results of the rough channel and the detailed channel; wherein the rough channel provides a fast blood oxygen saturation estimation result, and the detailed channel provides an accurate blood oxygen saturation estimation result.

8. An electronic device, characterized in that: It comprises a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the pulse rate and blood oxygen saturation calculation method based on signal processing as described in any one of claims 1 to 6 is implemented.

9. A computer-readable storage medium, characterized in that: A computer program is stored thereon, and when the computer program is executed by a processor, the method according to any one of claims 1 to 6 is implemented.

10. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the method according to any one of claims 1 to 6 is implemented.