Data processing method for heart rate monitoring system

By using multi-channel electrode sensors and parallel information processing technology, combined with data fusion analysis using MATLAB and Python software, the accuracy and noise interference issues in data acquisition and processing in the heart rate monitoring system were resolved, achieving efficient, reliable, and timely abnormal alarms for heart rate monitoring.

WO2025194968A1PCT designated stage Publication Date: 2025-09-25HEBEI NET NEW DIGITAL TECH CO LTD

Patent Information

Application Number
PCT/CN2025/070186
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-03-20
Filing Date
2025-01-02
Publication Date
2025-09-25

AI Technical Summary

Technical Problem

Existing heart rate monitoring systems face problems such as poor sensor adaptability, data delay loss, noise interference, signal distortion, and inaccurate heart rate data analysis during data collection, transmission, and processing, which affect the accuracy and reliability of heart rate monitoring.

Method used

A multi-channel electrode heart rate sensor is used for synchronous data collection, and the simulated heart rate data is processed in combination with a parallel information amplification and filtering unit. MATLAB and Python software are used for data fusion and analysis. An abnormality detection and alarm module is configured, and real-time monitoring and data display are provided through a remote alarm and display unit.

Benefits of technology

It improves the accuracy and stability of heart rate data collection, reduces noise interference, provides more comprehensive heart rate analysis and timely abnormal alarms, and expands the monitoring range and response efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025070186_25092025_PF_FP_ABST
    Figure CN2025070186_25092025_PF_FP_ABST
Patent Text Reader

Abstract

The present invention provides a data processing method for a heart rate monitoring system, and belongs to the technical field of data processing. The present invention effectively solves the problems that heart rate monitoring systems have low accuracy in acquiring raw heart rate data of patients, have difficulty in removing heart rate interference factors, and require precise heart rate value data and analysis results. The present invention is used in a heart rate monitoring system, and the heart rate monitoring system comprises: a power supply apparatus, an information acquisition apparatus, an information conditioning module, a data fusion unit, a data analysis module, an anomaly detection alarm module, a display unit, and a storage unit. The present invention comprises the following steps: S1, information acquisition; S2, information conditioning; S3, data fusion; and S4, data analysis. The present invention can ensure that the heart rate monitoring system can accurately and reliably monitor and interpret heart rate data during data processing, thereby providing more reliable support for clinical practice.
Need to check novelty before this filing date? Find Prior Art

Description

A data processing method for heart rate monitoring system Technical Field

[0001] The present invention belongs to the technical field of data processing, and in particular to a data processing method for a heart rate monitoring system. Background Art

[0002] In clinical practice, heart rate, as a crucial physiological parameter, not only reflects the heart's working state but also serves as a key indicator for assessing overall health. Heart rate monitoring systems play a key role in diagnosing and monitoring cardiovascular disease, evaluating drug efficacy, monitoring physiological processes during surgery, assessing rehabilitation progress, and monitoring stress and pressure responses.

[0003] However, the processing of heart rate data using heart rate monitoring systems currently faces a series of challenges. The first is the accuracy of raw heart rate data collected from patients. Heart rate monitoring systems collect this data through sensors, but the choice of sensor directly impacts data quality. Given that different patients have different body shapes, skin types, and physiological conditions, sensors need to be able to adapt to these differences, thus presenting challenges in biocompatibility. Furthermore, data collection and transmission can be subject to delays and loss, posing a challenge in ensuring that this data is accurately and consistently transmitted to the heart rate monitoring system.

[0004] Secondly, the collected data needs to be processed. The goal of this processing is to accurately identify the true heartbeat signal and eliminate noise and false signals. However, factors such as electromagnetic interference, motion artifacts, myoelectric interference, baseline drift, respiratory motion, and environmental noise can cause distortion in the collected data. Effectively reducing the impact of these interference factors on the signal through data processing and ensuring high-quality signals for subsequent processing is a major challenge.

[0005] Finally, digital data processing is also a key issue. After preprocessing, the data type is converted from analog data signals to digital data signals. In many clinical and monitoring scenarios, more accurate heart rate data and analysis results are required to enable medical staff to make rapid medical decisions. Extracting heart rate values ​​and complex heart rate variability information from digital data is also a challenging task.

[0006] In summary, in response to the challenges faced by heart rate monitoring systems in data processing, an effective data processing method needs to be proposed to ensure accurate and reliable monitoring and interpretation of heart rate data, thereby providing more reliable support for clinical practice. Summary of the Invention

[0007] The purpose of the present invention is to address the above-mentioned problems in the existing technology and to propose a data processing method for a heart rate monitoring system.

[0008] The object of the present invention can be achieved by the following technical solutions: a data processing method for a heart rate monitoring system, the method being used in a heart rate monitoring system, the heart rate monitoring system comprising: a power supply device, an information acquisition device, an information conditioning module, a data fusion unit, a data analysis module, an abnormality detection alarm module, a display unit, and a storage unit;

[0009] The method comprises the following steps:

[0010] S1 Information Collection: The information collection device collects the patient's original heart rate data, captures the patient's heart electrical activity, and obtains simulated heart rate data information. The information collection device uses a multi-channel ECG information synchronous collection method to improve the accuracy and reliability of the collected data. The information collection device includes several electrode-type heart rate sensors;

[0011] Electrode-type heart rate sensors are used for heart rate collection, mainly because they can directly contact the skin and accurately capture the heart's electrical activity. Such sensors can provide high-quality electrocardiogram (ECG) signals, which are crucial for monitoring heart health. The use of multiple electrode-type heart rate sensors is to increase the accuracy and reliability of the data. Different channels can capture signals from different parts of the body, which can reduce the impact of noise and provide more comprehensive information on the heart's electrical activity, making data analysis more accurate and comprehensive.

[0012] S2 Information Conditioning: The information conditioning module is used to amplify, filter and convert the analog heart rate data;

[0013] The information conditioning module includes an information amplification unit and an information filtering unit, and the information amplification unit and the information filtering unit are connected in parallel;

[0014] The information amplification unit includes an information amplifier and an information amplification analog / digital converter. The information amplifier is used to amplify the analog heart rate data information to ensure that the quality of the analog heart rate data information is not reduced; the information amplification analog / digital converter is used to convert the analog heart rate data information amplified by the information amplifier into digital data information; the digital data type is numbered as Class 1 signal;

[0015] The information filtering unit includes a filter component and a filter analog / digital converter. The filter component is used to filter noise and interference in the non-heart rate information frequency band in the analog heart rate data information; the filter analog / digital converter is used to convert the analog data information filtered by the filter component into digital data information; the digital data type number is Class 2 signal;

[0016] The information amplification unit and the information filtering unit are connected in parallel, rather than in the traditional series connection, where amplification is performed first and then filtering is performed. The reason is that the parallel connection design allows the information amplification unit and the information filtering unit to work simultaneously, rather than sequentially. Such a design can improve processing speed and efficiency. In the traditional series design, the signal is amplified first and then filtered, which may cause the noise contained in the amplified signal to be enhanced as well, making filtering more difficult. Through parallel processing, the signal can be amplified and the noise can be filtered at the same time, ensuring that high-quality signals enter the subsequent processing stages.

[0017] S3 data fusion: A data fusion unit is used to fuse the digital data of type 1 signals and the digital data of type 2 signals to obtain comprehensive heart rate digital data;

[0018] The data fusion unit is equipped with a digital signal fusion microprocessor, and the function of the data fusion unit is realized based on the fusion MATLAB software;

[0019] The steps to implement the data fusion unit function are as follows:

[0020] A1. Receive data: Receive digital data of Class 1 signals transmitted by the signal amplifying analog / digital converter and digital data of Class 2 signals transmitted by the filtering analog / digital converter;

[0021] A2. Timestamp alignment: In the digital signal processor, the digital data of the Class 1 signal and the digital data of the Class 2 signal are aligned based on the timestamp information to maintain the temporal consistency of the digital data.

[0022] A3. Fusion: A strategy is adopted to fuse the optimal parts of the digital data of the type 1 signal and the digital data of the type 2 signal to obtain the comprehensive heart rate digital data;

[0023] A4, output: transmit the information of the integrated heart rate digital data to the data analysis module;

[0024] Data fusion aims to integrate information from different sources to obtain more accurate and comprehensive heart rate data. By fusing the optimal portions of the digital data from Class 1 and Class 2 signals, the resulting digital heart rate data contains sufficient detail while removing potential interference and noise. MATLAB was chosen for data fusion because it offers powerful data processing and analysis tools, particularly in signal processing and digital data analysis. MATLAB's advanced mathematical capabilities make it ideal for implementing complex data fusion strategies.

[0025] S4. Data analysis: using the data analysis module to perform R wave detection, heart rate calculation and heart rate variability analysis on the comprehensive heart rate digital data;

[0026] The data analysis module includes a data analysis microprocessor, an R-wave detection unit, a heart rate calculation unit, and a heart rate variability analysis unit; the R-wave detection unit, the heart rate calculation unit, and the heart rate variability analysis unit are integrated into the data analysis microprocessor;

[0027] The working steps of the data analysis module are as follows:

[0028] B1. R-wave detection: The integrated heart rate digital data is transmitted to the R-wave detection unit, which identifies the R-wave in the integrated heart rate digital data and outputs the R-wave position information. The R-wave is the peak of ventricular contraction. The R-wave detection unit is based on the R-wave detection MATLAB software.

[0029] B2. Heart Rate Calculation: The heart rate calculation unit receives the R-wave position information output by the R-wave detection unit and uses it to calculate the RR interval to obtain the heart rate value. The RR interval is the time interval between two consecutive R waves. The heart rate calculation unit is implemented based on the heart rate calculation software equipped with a Python editor.

[0030] B3. Heart rate variability analysis: The heart rate variability analysis unit performs time domain, frequency domain and nonlinear analysis on the RR interval and extracts the HRV index. The HRV index includes time domain index, frequency domain index and nonlinear analysis index.

[0031] Time domain indicators include SDNN, RMSSD, NN50, and pNN50; SDNN is the standard deviation of the RR interval, reflecting the overall variability of the heart rate interval; RMSSD is the root mean square of the difference between consecutive RR intervals, reflecting the rapid change of heart rate variability and related to parasympathetic nerve activity; NN50 is the number of times the difference between adjacent RR intervals exceeds 50ms; pNN50 is the percentage of NN50 to the total number of heart beats, reflecting the rapid changes in heart rate;

[0032] Frequency domain indicators include LF, HF, and LF / HF ratio. LF is the low-frequency component, reflecting the combined effects of the sympathetic and parasympathetic nervous systems. HF is the high-frequency component, reflecting parasympathetic nervous system activity, especially heart rate variability related to respiration. The LF / HF ratio is the ratio of LF to HF, and is used to assess the balance between the sympathetic and parasympathetic nervous systems.

[0033] Nonlinear analysis indicators include PoincaréPlot indicator, sample entropy indicator and detrended fluctuation analysis indicator. PoincaréPlot indicator is a scatter plot used to visualize the changes in RR intervals. PoincaréPlot indicator includes SD1 axis and SD2 axis. SD1 axis represents the short-term variability of heart rate; SD2 axis represents the long-term variability of heart rate.

[0034] The sample entropy index is used to measure the degree of control of the cardiac autonomic nervous system on heart rate; the detrended fluctuation analysis indicators include the fluctuation standard deviation and fluctuation amplitude. The fluctuation standard deviation represents the degree of change in heart rate variability; the fluctuation amplitude measures the amplitude of the heart rate in different time periods.

[0035] MATLAB software was used for R-wave detection due to its powerful signal processing capabilities, enabling effective identification and analysis of R-waves in ECG signals. The toolboxes and function libraries provided by MATLAB facilitate accurate R-wave detection. For heart rate calculation, software with a Python editor was used due to Python's flexibility and ease of use. Python has a wealth of data analysis and processing libraries, such as NumPy and SciPy, which can be easily used for heart rate calculation and heart rate variability analysis. Python's widespread use and community support also means that resources and plug-ins are easily accessible to meet the specific needs of the project.

[0036] In the above-mentioned data processing method for a heart rate monitoring system, the power supply device includes a main power interface, a rechargeable battery module, and a charging control unit;

[0037] The main power interface is used to connect an external power source. When the external power source is available, the heart rate monitoring system is powered through the main power interface.

[0038] The rechargeable battery module includes at least one rechargeable battery for powering the heart rate monitoring system when the external power supply is unavailable. The rechargeable battery module uses an automatic switching mechanism that can automatically detect the status of the external power supply. When the external power supply is available, it automatically switches to the main power interface for power supply. When the external power supply is unavailable, it automatically switches to the rechargeable battery module for power supply.

[0039] When the heart rate monitoring system is powered by the main power interface, the charging control unit automatically charges the rechargeable battery module to ensure sufficient power of the rechargeable battery;

[0040] In step S1, the electrode-type heart rate sensor is made of silver and silver chloride. Silver is the main material of the electrode-type heart rate sensor, and the surface of the silver is covered with a layer of silver chloride film. The silver chloride film is used to stabilize the potential at the interface between the electrode-type heart rate sensor and human skin, reducing electrode potential drift and electrode polarization, thereby improving measurement accuracy and stability. The electrode-type heart rate sensor is distributed along the electrocardiographic signal conduction path according to the human anatomical structure and cardiac electrophysiological characteristics. The electrode-type heart rate sensor collects information at a frequency of 300 Hz to 1000 Hz to capture all information of the electrocardiographic signal.

[0041] Silver: Silver has very high electrical conductivity, which makes it an ideal choice for electrode material because high conductivity means that electrical signals can be transmitted more efficiently from the skin surface to the monitoring device. In addition, silver also performs relatively well in terms of biocompatibility, which is important for reducing skin irritation and allergic reactions.

[0042] Silver chloride film: A silver chloride film is coated on the surface of the silver electrode to establish a stable interface between the silver electrode and the human skin. Silver chloride helps reduce electrode potential drift and polarization. Potential drift and polarization can affect measurement accuracy. By using silver chloride film, these problems can be significantly reduced, ensuring the accuracy and stability of heart rate monitoring.

[0043] The electrode placement of the heart rate sensor follows the human anatomy and cardiac electrophysiology, primarily focusing on the following: The ECG signal conduction pathway represents the natural flow of the heart's electrical activity, starting from the sinoatrial node (the heart's natural pacemaker), passing through the atria, reaching the atrioventricular node, and then passing through the His bundle and ventricular wall muscles. Placing the electrodes along this pathway maximizes the capture of the full spectrum of the heart's electrical activity, including all important electrocardiogram (ECG) waveforms.

[0044] Human anatomy: Electrode placement also takes into account the human anatomy, such as the layout of the chest and the position of the limbs; this is done to ensure that ECG signals can be captured from different angles and positions, providing a more comprehensive basis for data analysis.

[0045] The choice of acquisition frequency is based on the spectrum of the ECG signal and the required time resolution. The main frequency components of the ECG signal are concentrated between 0.05Hz and 100Hz, but in order to capture more subtle ECG details and ensure high-quality signal reproduction, the acquisition frequency needs to be much higher than twice the highest frequency of the signal (according to the Nyquist theorem).

[0046] 300Hz: This is the lowest acquisition frequency, sufficient to capture important information of most ECG signals and suitable for general heart rate monitoring and analysis.

[0047] 1000Hz: A higher acquisition frequency provides more detailed ECG data, enabling more accurate detection and analysis of rapidly changing ECG events (such as arrhythmias). This is particularly important for advanced cardiac monitoring applications, such as detailed heart rate variability (HRV) analysis.

[0048] The abnormality detection alarm module includes an abnormality detection microprocessor, an abnormality pattern recognition unit and an alarm unit. The abnormality pattern recognition unit and the alarm unit are integrated in the abnormality detection microprocessor.

[0049] The abnormal pattern recognition unit is used to detect whether the heart rate value and HRV index are abnormal. The abnormal pattern recognition unit has a fault tolerance mechanism. By setting a time window T, the alarm is activated when the abnormal data is continuously monitored for more than T.

[0050] The functional implementation steps of the abnormal pattern recognition unit are as follows: setting thresholds: setting the threshold of the normal range of heart rate values, setting the threshold of the normal value of HRV indicators, and setting the threshold of T value; judging whether there is an abnormality by comparing the heart rate value with the threshold of the normal range of heart rate values, and comparing the HRV indicator with the threshold of the normal value of HRV indicators; if the abnormal time exceeds the threshold of T value, activating an alarm;

[0051] The alarm unit's alarm modes include conventional alarm and remote alarm. Conventional alarm is at least one of sound alarm, visual alarm and vibration alarm. Remote alarm is to send alarm information to a preset mobile phone or medical monitoring center via the network.

[0052] The reason for setting up a fault-tolerant mechanism is: to reduce false alarms: In heart rate and heart rate variability (HRV) monitoring, there may be occasional fluctuations or short-term anomalies in data readings, which does not always indicate a real problem. The fault-tolerant mechanism sets a time window T and requires that the abnormal data be continuously monitored for more than a certain time threshold T before the alarm is activated. This helps to distinguish between occasional data anomalies and persistent abnormal patterns that may indicate health problems, thereby reducing false alarms caused by short-term fluctuations or occasional events.

[0053] Enhanced system robustness: Fault-tolerance mechanisms enable the system to better cope with noise and temporary interference, improving its stability and reliability under various conditions. By allowing a certain degree of data fluctuation rather than reacting immediately to every reading that exceeds a preset threshold, the system can more accurately identify truly abnormal patterns.

[0054] Reasons to set up remote alarms: Timeliness: Remote alarms send alarm information to a pre-set mobile phone or medical monitoring center via the Internet. This ensures that even when the user is unable to directly perceive the alarm (such as when asleep or unconscious), potential health risks can be promptly notified to the user's family or medical professionals. This timeliness is crucial for rapid response in emergencies and can potentially save lives in some cases.

[0055] Expanded Monitoring Scope: Remote alarm functionality allows monitoring data and alarm notifications to be transmitted to family members or healthcare providers concerned about the user's health without geographical restrictions, thereby expanding the scope of health monitoring and emergency response. This is especially important for users who require continuous health monitoring, such as the elderly, those with chronic diseases, or those recovering from illness.

[0056] Improved response efficiency: By sending alarm information to a medical monitoring center, rapid diagnosis and treatment recommendations for abnormal situations can be achieved, improving the efficiency of medical response. Medical professionals can quickly assess the situation and, if necessary, guide users to take appropriate actions or directly arrange for emergency services.

[0057] The display unit is used to present the data in the heart rate monitoring system to the user in a visual form. The display content of the display unit includes the heart rate curve, the current heart rate value and the HRV indicator. The display unit has a historical data review function to help users and medical professionals understand the changing trends of the patient's heart health status.

[0058] In the data processing method for the heart rate monitoring system, in step S2, the signal amplifier is specifically an instrumentation amplifier, and the instrumentation amplifier has the following operating parameters: the gain is set to 100-1000 times; the input impedance is greater than 1MΩ to reduce signal loss from the human body to the input end of the signal amplifier;

[0059] The input equivalent noise voltage is less than 10μV RMS, which is used to reduce the noise introduced by the signal amplifier itself and ensure accurate amplification of weak ECG signals;

[0060] Common mode rejection ratio is higher than 100dB to suppress common mode signals caused by improper placement of electrode sensors or power line interference;

[0061] The filter component includes a high-pass filter, a notch filter and a low-pass filter, the high-pass filter is connected in series with the notch filter, and the notch filter is connected in series with the low-pass filter;

[0062] The high-pass filter has a cutoff frequency of 0.5 Hz and is used to remove low-frequency noise and baseline drift while retaining the low-frequency components of the ECG signal;

[0063] The center frequency of the notch filter is set to the frequency of the local power supply to eliminate power line interference;

[0064] The cutoff frequency of the low-pass filter is 250-300Hz, which is used to eliminate electrical interference or electromyographic signals while ensuring that the high-frequency components of the ECG signal are not weakened.

[0065] In the above-mentioned data processing method for the heart rate monitoring system, in step A3 of step S3, the specific process of implementing the fusion function is as follows:

[0066] A3.1 Importing data: Use the data acquisition tool in Fusion MATLAB to import the digital data of Class 1 and Class 2 signals into Fusion MATLAB.

[0067] A3.2 Define the optimality criterion: Select the signal-to-noise ratio as the optimality evaluation criterion;

[0068] A3.3 Signal Segmentation: Class 1 and Class 2 signals are segmented into several segments by integrating the buffer function of MATLAB software. The specific operations for signal segmentation are as follows:

[0069] A3.3.1 Use the buffer function on a Class 1 signal to split it into a number of segments of length n. The segments are combined into a matrix 1, where each column of the matrix 1 represents a segment.

[0070] A3.3.2 Use the buffer function on the type 2 signal to split the type 2 signal into a number of segments of length n. The segments are combined into a matrix 2, where each column of the matrix 2 represents a segment.

[0071] n value is 180-600;

[0072] A3.3.3 Handling remainders: If the signal length is not divisible by n, the last segment is padded with zeros to the specified length to ensure that all segments have the same length;

[0073] A3.4 Calculate the optimality of each segment: For each segment, use the signal-to-noise ratio as the criterion to calculate the optimality; the specific operation is as follows:

[0074] A3.4.1 Traversing Segments: For each segment of the Class 1 signal and each segment of the Class 2 signal, traverse the segments separately. The traversal process is achieved by traversing the index number of each segment, where the index number represents the column number of the segment in the matrix to which it belongs.

[0075] A3.4.2 Calculate the signal-to-noise ratio: For each traversed segment, use the snr function in the MATLAB Fusion software to calculate the signal-to-noise ratio;

[0076] A3.4.3 Storing Results: Store the signal-to-noise ratio of each segment in the corresponding array. For segments with Class 1 signals, the signal-to-noise ratio is stored in array snr1; for segments with Class 2 signals, the signal-to-noise ratio is stored in array snr2.

[0077] A3.5 Select the optimal segment: For each segment, compare the optimality of the Class 1 signal and the Class 2 signal and select the optimal segment. The specific operation is as follows:

[0078] A3.5.1 Initialize the optimal segment matrix: Create an optimal segment matrix of the same size as the matrices for the Class 1 and Class 2 signal segments to store the selected optimal segments.

[0079] A3.5.2 Traverse each segment: traverse each segment of the Class 1 signal and the Class 2 signal by looping, and in each loop, process the current segment index;

[0080] A3.5.3 Comparing signal-to-noise ratios: For each segment, compare the signal-to-noise ratios of the Class 1 signal and the Class 2 signal;

[0081] A3.5.4 Select the optimal segment: If the signal-to-noise ratio of the current segment of the Class 1 signal is higher than that of the corresponding segment of the Class 2 signal, the segment of the Class 1 signal is selected as the optimal segment; otherwise, the segment of the Class 2 signal is selected;

[0082] A3.5.5 Store Optimal Segment: Store the selected optimal segment into the initialized optimal segment matrix corresponding to the segment index currently being processed;

[0083] A3.6 Signal Reconstruction: The selected optimal segments are reconnected into a complete signal by splicing. The specific operations are as follows:

[0084] A3.6.1 Initialize the signal: Create an empty array to store the final reconstructed signal;

[0085] A3.6.2 Traverse the selected segments: Traverse the optimal segments one by one in chronological order.

[0086] A3.6.3 Splicing signal segments: Splice each selected optimal segment in chronological order to obtain a reconstructed signal;

[0087] A3.7 Smoothing: The reconstructed signal is processed using a sliding average method to achieve a smooth transition. The specific operations are as follows:

[0088] A3.7.1 Determine the smoothing window size: Set a window size, denoted as m, where m is the number of consecutive data points during smoothing. The value of m ranges from 5 to 20.

[0089] A3.7.2 Apply the sliding average method: Use the smoothdata function in the MATLAB software to process the reconstructed signal using the sliding average method. The sliding average operation is based on the previously set window size m. The sliding average is calculated by averaging all data points within the window to update the value of each point as the new signal value, thereby obtaining the integrated heart rate digital data.

[0090] The reasons for choosing the buffer function for signal segmentation are: Adaptability and flexibility: The buffer function is a powerful tool in MATLAB for segmenting one-dimensional signals into multiple fixed-length segments. The buffer function is chosen for signal segmentation because it can easily handle signals of various lengths and segment them into segments of predetermined lengths, which is very useful for subsequent processing and analysis; Simplified data management: By segmenting the signal into a matrix form with each column representing a segment, data management and operation can be simplified. This structure facilitates segment-by-segment analysis and processing, such as calculating the signal-to-noise ratio and selecting the optimal segment; Efficiency: The buffer function directly supports a variety of signal processing functions including zero padding, so that signal segments of different lengths can be processed efficiently and uniformly.

[0091] The reasons for signal segmentation are: Manageability: Signal segmentation allows data to be processed and analyzed at a finer granularity, improving the manageability of processing; Performance optimization: Segmenting the signal allows for individual evaluation and selection of optimality for each segment, resulting in optimized processing and reconstruction across the entire signal, which helps improve the quality of the final signal.

[0092] The reason for the n value of 180-600 is that this range is determined based on the characteristics of the signal and the processing requirements. Longer segments can retain more signal information, which helps to more accurately evaluate the characteristics of the signal, such as calculating the signal-to-noise ratio. At the same time, this range also ensures that the segments are long enough to contain enough data points for effective statistical analysis, while not so long that the processing becomes inefficient.

[0093] The reason for using the signal-to-noise ratio as the criterion for calculating optimality is that the signal-to-noise ratio is an important indicator for measuring signal quality. It can objectively reflect the ratio of useful information to noise in the signal. Selecting the signal-to-noise ratio as the optimality criterion can ensure that the selected segments have relatively high signal quality, thereby improving the overall quality of the reconstructed signal.

[0094] Reasons for choosing the smoothdata function: Flexibility and efficiency: The smoothdata function supports a variety of smoothing techniques, allowing users to choose the most appropriate smoothing method according to specific needs. This flexibility ensures efficient and effective data smoothing in different application scenarios; Ease of use: The smoothdata function simplifies the data smoothing process. Users only need to simply specify the window size or smoothing method to quickly obtain smoothed data, which reduces the complexity of data processing and improves work efficiency.

[0095] The choice of m value is 5-20: This window size range balances the smoothing effect and the preservation of signal details; a window that is too small may not effectively smooth the noise, while a window that is too large may cause the loss of useful details of the signal; choosing the range of 5-20 provides a reasonable compromise, ensuring effective noise suppression while retaining sufficient signal details.

[0096] In the above-mentioned data processing method for the heart rate monitoring system, in step S4 B1, the specific steps of R wave detection are as follows:

[0097] B1.1 Data import: Use the load or readtable function in the R-wave detection MATLAB software to import the integrated heart rate digital data transmitted from the data fusion unit;

[0098] B1.2 Normalization: Use the normalize function in MATLAB to normalize the integrated heart rate digital data;

[0099] B1.3 Determine R-wave position information: Use the findpeaks function in the R-wave detection MATLAB software to process the normalized integrated heart rate digital data to obtain R-wave position information;

[0100] The findpeaks function is used to identify local maxima for R-wave peak detection. During the calculation of the findpeaks function, the minimum peak value is set to 0.1 mV-0.2 mV, and the minimum peak interval is 240-2000 ms.

[0101] Normalization is a key step in the R-wave detection process. The main reasons are: unifying the data scale: The amplitude of the heart rate signal varies from person to person, and even the same person may have different measurements at different times. Using the normalize function can unify the data to the same scale, which helps to set the parameters in the subsequent processing steps to make them more unified and standardized; improving computing performance: After normalization, when using the findpeaks function to identify local maxima, the unified data scale can improve its accuracy and efficiency; reducing deviations in the data: Normalization can reduce deviations in the data caused by large differences in dimension or range, making the data processing process more stable and reducing the occurrence of errors.

[0102] The findpeaks function is an effective tool for detecting local maxima and is suitable for R-wave detection because: The R wave is a characteristic positive peak in the electrocardiogram (ECG), and findpeaks can effectively identify these local maxima, thereby locating the position of the R wave; Parameter adjustability: The findpeaks function allows the user to set the minimum peak height and the minimum distance between peaks according to the actual signal characteristics, which provides flexibility for accurate R-wave detection.

[0103] Minimum peak value (0.1mV-0.2mV): This range is based on the general amplitude of the R wave of a normal electrocardiogram. Setting a minimum peak height can help eliminate small fluctuations caused by noise or other non-R wave waveforms, ensuring that the actual R wave is detected rather than noise.

[0104] The reason for setting the minimum peak interval to 240-2000ms is that: Reflection of the heart rate range: The normal heart rate range of an adult is approximately 60 to 100 beats / minute, and the corresponding RR interval (the interval between two consecutive R waves) is 600 to 1000 milliseconds; however, the heart rate can change due to exercise, stress, disease or other conditions. Especially under high-intensity exercise or certain specific pathological conditions, the heart rate can increase significantly, and the corresponding RR interval is shortened; Including the fastest heartbeat: Setting the lower limit of the minimum peak interval to 240ms can capture a heartbeat equivalent to 250 beats / minute, which takes into account the highest heart rate that the human body may reach in extreme cases; Excluding abnormal heartbeats: Setting the maximum interval to 2000ms is to include bradycardia, in which the heart rate may drop to 30 beats / minute, and the corresponding RR interval is 2000ms, which ensures the detection of R waves of normal and most abnormal heart rates, including very slow heartbeats. ; Elimination of noise and pseudo-peaks: In ECG signal analysis, by setting a reasonable peak spacing range, it can help distinguish between real heartbeat signals and noise or pseudo-peaks (such as signals generated by electrode movement, muscle tremors, etc.), which helps to improve the accuracy and reliability of R-wave detection; Adaptation to diverse application scenarios: This range allows the findpeaks function to be used in a variety of different scenarios, including resting state, exercise of different intensities, and R-wave detection under various cardiac pathological conditions. It provides sufficient flexibility to adapt to heart rate changes between individuals and the same individual under different circumstances.

[0105] In the above-mentioned data processing method for the heart rate monitoring system, in step S4 B2, the specific process of heart rate calculation is as follows:

[0106] B2.1 Import: Import the NumPy and SciPy libraries for data processing into the Python editor. Import the find_peaks function from the SciPy library. The NumPy library supports dimensional array and matrix operations. find_peaks is a function that finds the local maximum of a one-dimensional array and is used to detect R waves in the data.

[0107] B2.2 Receiving R-wave position information from the R-wave detection unit: Import the np.array function from the NumPy library and use it to convert the R-wave position information obtained from the R-wave detection unit into a NumPy array. The NumPy array stores the positions of all detected R waves, and each element in the NumPy array represents the position of an R wave.

[0108] B2.3 Calculate the time interval between two consecutive R waves by taking the difference of the R wave position array: Import the np.diff function from the NumPy library and use it to calculate the difference between consecutive elements in an array. The result is the RR time interval; the RR time interval is the time interval between two consecutive R waves.

[0109] B2.4 Heart rate calculation:

[0110] B2.4.1 Determine the sampling frequency: The sampling frequency is 300-1000 Hz, and the sampling frequency is the number of data sampling points recorded per second;

[0111] B2.4.2 Convert to seconds: Convert the RR time interval from the number of sampling points to seconds;

[0112] B2.4.3 Calculate the mean: Use the np.mean function in the NumPy library to calculate the average duration of all RR intervals;

[0113] B2.4.4 Divide 60 by the average time to get the heart rate value, which is the number of heartbeats per minute;

[0114] B2.5 Output heart rate value: Use the print function in Python to output the heart rate value, and retain two decimal places.

[0115] NumPy arrays provide an efficient way to store and manipulate large amounts of data. Compared to Python's native lists, NumPy arrays are more efficient in numerical computations, support more mathematical operations, and enable more convenient indexing and slicing.

[0116] The reason for using the difference method is that the difference can directly give the change between consecutive elements in the array, which is very convenient when calculating the time interval between two consecutive R waves. By calculating the difference of the R wave position array, the interval between each two adjacent R waves, that is, the RR time interval, can be quickly obtained.

[0117] The np.mean function is chosen to calculate the average time length of all RR intervals because it is a fast and concise method provided by NumPy to calculate the average value of an array. In heart rate calculation, the average heart rate is usually of interest, so calculating the average value of all RR intervals is a direct and effective method.

[0118] In the above-mentioned data processing method for the heart rate monitoring system, in step S4 B3, the acquisition of the time domain index is based on the time domain analysis software with a Python editor configured in the heart rate variability analysis unit; the specific process of obtaining the time domain index is as follows;

[0119] B3.t1 Data import: Import the RR interval data into the time domain analysis software equipped with a Python editor, and import the NumPy library into the Python editor;

[0120] B3.t2 calculates time domain indicators: SDNN: Use the std function in the NumPy library to calculate the standard deviation of all RR intervals to obtain the SDNN value;

[0121] RMSSD: Use the numpy.diff function in the NumPy library to calculate the difference between consecutive RR intervals; use the numpy.mean function in the NumPy library to calculate the mean of the squared differences; use the numpy.sqrt function in the NumPy library to calculate the square root of the mean to obtain the RMSSD value;

[0122] NN50: Use the numpy.diff function in the NumPy library to calculate the difference between consecutive RR intervals; use the numpy.abs function in the NumPy library to calculate the absolute value of the difference; use the numpy.sum function in the NumPy library to count the number of times the absolute value is greater than 50ms to obtain the NN50 value;

[0123] pNN50: Divide NN50 by the total number of RR intervals and multiply the result by 100 to obtain the percentage value of pNN50.

[0124] In the above-mentioned data processing method for the heart rate monitoring system, in step S4 B3, the frequency domain index is obtained based on the heart rate variability analysis unit configured with frequency domain analysis software containing a Python editor; the specific process of obtaining the frequency domain index is as follows:

[0125] B3.F1 Import: Import the NumPy and SciPy libraries into the Python editor and load the RR interval data into the time domain analysis software.

[0126] B3.F2 interpolation:

[0127] B3.F2.1 Define sampling rate: The sampling rate is 2-4 Hz, generating 2-4 data points per second;

[0128] B3.F2.2 Calculate the interpolated time points: Use the numpy.cumsum function in the NumPy library to calculate the cumulative sum, convert the RR interval array into a time array, and then generate an equally spaced time vector based on the defined sampling rate. The time vector covers the entire time range from 0 seconds to the last RR interval time point.

[0129] B3.F2.3 Interpolation: Use the numpy.interp function in the NumPy library to perform linear interpolation. The interp function interpolates the original data points at the new time points to obtain equally spaced heart rate time series data.

[0130] B3.F3 Detrending: Import the detrend function from the SciPy library and use the linear detrending method to process the equally spaced heart rate time series data to obtain the heart rate time series without the linear trend.

[0131] B3.F4 uses the Welch method to calculate the power spectral density: The Welch method includes the following:

[0132] B3.F4.1 Signal segmentation: Segment the equally spaced heart rate time series data into multiple overlapping segments of the same length;

[0133] B3.F4.2 Window function application: Apply the Hanning window function to each segment to reduce the discontinuity at both ends of the signal.

[0134] B3.F4.3 Fast Fourier Transform: Perform a fast Fourier transform on each windowed segment to convert the time domain signal into a frequency domain signal, generating a spectrum for each segment.

[0135] B3.F4.4 Power Spectral Density Calculation: Square the spectrum of each segment to obtain the power spectral density of each segment. The power spectral density reflects the power distribution of the signal at different frequencies.

[0136] B3.F4.5 Average power spectral density: average the power spectral density of all segments at the same frequency point to obtain the average power spectral density of the entire time series;

[0137] The Welch method is implemented using the scipy.signal.welch function in the SciPy library. When calling the welch function, the welch function parameters are set as follows: the data sampling rate is 2-4 Hz; the length of each segment is 256-1024 data points; the number of overlapping data points between adjacent segments is 40%-50% of the length of each segment;

[0138] B3.F5 extracts frequency domain indicators:

[0139] LF: Filter out the frequency points between 0.04 and 0.15 Hz and the corresponding average power spectrum density values, and then use the numpy.trapz function in the NumPy library to integrate and obtain LF;

[0140] HF: Filter out the frequency points between 0.15 and 0.4 Hz and the corresponding average power spectral density values, and then use the numpy.trapz function in the NumPy library to integrate and obtain HF;

[0141] LF / HF ratio: The LF / HF ratio is calculated by dividing LF by HF.

[0142] In step B3.F2.1, the sampling rate is 2-4 Hz. The reason is that according to the Nyquist theorem, in order to capture the highest frequency component of the signal without distortion, the sampling frequency should be at least twice the highest frequency component in the signal. In HRV analysis, considering that the upper limit of the high-frequency component is 0.4 Hz, the sampling rate of 2-4 Hz exceeds the theoretical minimum requirement of 0.8 Hz and is sufficient to capture the main changes in heart rate.

[0143] The reason for choosing the function is that the numpy.interp function directly supports linear interpolation and is easy to use. It can efficiently generate equally spaced time series from the original unequally spaced RR interval data.

[0144] The linear detrending method is used for the following reasons: Eliminating linear trends: Heart rate time series data may contain linear trends, which may be due to physiological changes caused by long-term recording or device drift. Removing these trends helps to focus on analyzing pure heart rate variability; Maintaining other characteristics of the data: Linear detrending is a relatively mild processing method that can effectively remove the linear part of the data without affecting the periodic components or other nonlinear characteristics in the data.

[0145] In step B3.F4.5, the sampling rate is 2-4 Hz in order to keep it consistent with the sampling rate in step B3.F2.1.

[0146] The length of each segment is 256-1024 data points: choosing the right segment length is important for balancing time resolution and frequency resolution. Longer segments provide better frequency resolution but lower time resolution; shorter segments do the opposite. This range allows finding a balance in different application scenarios.

[0147] The number of overlapping data points between adjacent segments is 40%-50% of the segment length: the overlap is used to reduce information loss caused by segmentation and enhance the smoothness of the spectrum estimation. This ratio can achieve a good balance between reducing variance and maintaining sufficient data independence.

[0148] In the above-mentioned data processing method for a heart rate monitoring system, in step S4 B3, the nonlinear analysis index is obtained based on the heart rate variability analysis unit being configured with nonlinear analysis software containing a Python editor; the specific process of obtaining the nonlinear analysis index is as follows:

[0149] B3.n.1 Import the NumPy, Matplotlib, HeartPy, and SciPy libraries into the Python editor.

[0150] B3.n.2 Obtaining Poincaré Plot Indicators: Use the numpy.array function in the NumPy library to convert the RR interval data into a NumPy array. Then, by slicing the NumPy array, obtain the current and subsequent RR interval data.

[0151] Calculate the difference between the current RR interval and the subsequent RR interval as the first-order difference of the RR interval;

[0152] Use the first-order difference as the x-coordinate and the value of the first-order difference delayed by one step as the y-coordinate to obtain the scattered data in PoincaréPlot;

[0153] Use the scatter function in the Matplotlib library to draw a scatter plot using a fitted curve. The x-coordinate of the scatter point represents the first-order difference of the current RR interval, and the y-coordinate represents the first-order difference of the subsequent RR interval. Set the scatter point size to 8-12 and the scatter point shape to an ellipse; the transparency is 0.5-0.8; the lengths of the minor and major axes in the ellipse are used as the values ​​of the SD1 and SD2 main axes, respectively.

[0154] B3.n.3 Sample entropy index calculation: Load the equally spaced heart rate time series data; use the sample_entropy function in the HeartPy library to calculate the sample entropy index for the equally spaced heart rate time series data;

[0155] B3.n.4 Obtaining Detrended Fluctuation Analysis Indicators: Import the detrend function from the SciPy library and use the linear detrending method to process the equally spaced heart rate time series data. This function will produce a heart rate time series with the linear detrended data removed.

[0156] Calculate the standard deviation of fluctuations: Use the numpy.std function in the NumPy library to calculate the standard deviation of the heart rate time series after removing the linear trend; obtain the standard deviation of fluctuations;

[0157] Fluctuation amplitude analysis: Use the numpy.max and numpy.min functions in the NumPy library to find the maximum and minimum values ​​of the heart rate time series data after removing the linear trend, respectively. The difference between the maximum and minimum values ​​is used as an indicator of amplitude change to obtain the fluctuation amplitude.

[0158] Using a fitting curve can more clearly display the trends and distribution characteristics of the data, especially when there are a large number of scattered points. Poincaré Plot is used to analyze heart rate variability data. By fitting a curve, the distribution pattern of data points can be more intuitively observed, and the characteristics of heart rate variability can be evaluated and analyzed.

[0159] The scatter point size is chosen to highlight the data points in the chart, making them easier to observe and analyze. A size range of 8-12 effectively displays the data without exaggerating or shrinking the data points too much, and without making the chart too crowded or cluttered.

[0160] The ellipse is chosen as the scatter point shape to better reflect the correlation and distribution pattern between data points. The ellipse shape can more accurately express the relationship between data points. Especially when used to represent the distribution of RR interval data in Poincaré Plot, the ellipse can better highlight the characteristics of the data.

[0161] The transparency setting of 0.5-0.8 is to reduce visual clutter when data points are dense, making the chart clearer and easier to read. Adjusting the transparency can make overlapping data points easier to identify, and it also helps to observe the density distribution of the data.

[0162] In the above-mentioned data processing method for a heart rate monitoring system, a try-catch structure is used to wrap code blocks in the programs of the R-wave detection MATLAB software, the heart rate calculation software, the fusion MATLAB software, the time domain analysis software, the frequency domain analysis software, and the nonlinear analysis software. The try-catch structure is an exception handling mechanism; the try-catch structure includes a try block and a catch block; when the program executes the code in the try block, if an exception occurs, the exception will be caught, the program will not crash immediately, and the control flow will jump to the corresponding catch block; in the catch block code, the developer defines a method for handling errors when an exception occurs, including recording error information and notifying the user.

[0163] The reason for using the try-catch structure is: exception handling: During the software development process, it is impossible to predict and avoid all possible exceptions. The try-catch structure can capture exceptions and provide corresponding handling methods to prevent the program from crashing due to exceptions or producing unpredictable behaviors; error logging and notification: Through the code in the catch block, developers can define error handling methods, such as recording error information in log files, displaying error prompts to users, or notifying relevant personnel through emails, etc., which helps to discover and solve problems in a timely manner.

[0164] Compared with the existing technology, the data processing method for the heart rate monitoring system has the following advantages:

[0165] 1. Stable and efficient ECG signal acquisition: Multiple electrode-type heart rate sensors are used to collect ECG signals, ensuring high-quality ECG signal acquisition. The material selection and layout of the electrode-type heart rate sensors take into account the use of silver and silver chloride films, as well as the human anatomical structure and cardiac electrophysiological characteristics, ensuring the stability of ECG signal acquisition.

[0166] 2. Optimized design of information conditioning: By connecting the information amplification unit and the information filtering unit in parallel, rather than in series as is traditional, data processing speed and efficiency are improved. This design allows information amplification and filtering to proceed simultaneously, effectively reducing the impact of noise on the signal and ensuring high-quality signals in the subsequent processing stages.

[0167] 3. Data fusion improves accuracy: The data fusion unit is used to fuse different types of signals to ensure the accuracy and comprehensiveness of the integrated heart rate digital data. By fusing the optimal parts of different types of signals, potential interference and noise are eliminated, and the reliability of heart rate data is improved.

[0168] 4. Multi-level data analysis: The data analysis module includes R-wave detection, heart rate calculation and heart rate variability analysis, providing a comprehensive assessment of heart health status. It uses tools such as MATLAB and Python editors to ensure the efficiency and accuracy of data analysis.

[0169] 5. Abnormal detection and alarm mechanism: The abnormal detection alarm module can identify abnormal heart rate values ​​and HRV indicators. By setting fault tolerance mechanisms and time windows, it can reduce abnormal alarms caused by abnormal factors. The alarm methods are diverse, including sound, visual, vibration alarms, and sending alarm information through the network, which improves the patients' and medical monitors' ability to perceive and respond to abnormal situations.

[0170] 6. Ensure the continuity of data processing: The power supply system includes a main power interface and a rechargeable battery module, and has an automatic switching mechanism to ensure normal operation during data processing when the external power supply is unavailable. The automatic charging function of the charging control unit ensures sufficient power for the rechargeable battery, enhancing the stability and durability of the data processing process. BRIEF DESCRIPTION OF THE DRAWINGS

[0171] FIG1 is a flow chart of the data processing method in the present invention. DETAILED DESCRIPTION

[0172] The following are specific embodiments of the present invention and the accompanying drawings to further describe the technical solutions of the present invention, but the present invention is not limited to these embodiments.

[0173] As shown in FIG1 , specific embodiment 1:

[0174] A data processing method for a heart rate monitoring system, the method being used in the heart rate monitoring system, the heart rate monitoring system comprising: a power supply device, an information acquisition device, an information conditioning module, a data fusion unit, a data analysis module, an abnormality detection and alarm module, a display unit, and a storage unit;

[0175] The power supply device includes a main power interface, a rechargeable battery module and a charging control unit;

[0176] The main power interface is used to connect an external power source. When the external power source is available, the heart rate monitoring system is powered through the main power interface.

[0177] The rechargeable battery module includes at least one rechargeable battery for powering the heart rate monitoring system when the external power supply is unavailable. The rechargeable battery module uses an automatic switching mechanism that can automatically detect the status of the external power supply. When the external power supply is available, it automatically switches to the main power interface for power supply. When the external power supply is unavailable, it automatically switches to the rechargeable battery module for power supply.

[0178] When the heart rate monitoring system is powered by the main power interface, the charging control unit automatically charges the rechargeable battery module to ensure sufficient power of the rechargeable battery;

[0179] The abnormality detection alarm module includes an abnormality detection microprocessor, an abnormality pattern recognition unit and an alarm unit. The abnormality pattern recognition unit and the alarm unit are integrated in the abnormality detection microprocessor.

[0180] The abnormal pattern recognition unit is used to detect whether the heart rate value and HRV index are abnormal. The abnormal pattern recognition unit has a fault tolerance mechanism. By setting a time window T, the alarm is activated when the abnormal data is continuously monitored for more than T.

[0181] The functional implementation steps of the abnormal pattern recognition unit are as follows: setting thresholds: setting the threshold of the normal range of heart rate values, setting the threshold of the normal value of HRV indicators, and setting the threshold of T value; judging whether there is an abnormality by comparing the heart rate value with the threshold of the normal range of heart rate values, and comparing the HRV indicator with the threshold of the normal value of HRV indicators; if the abnormal time exceeds the threshold of T value, activating an alarm;

[0182] The alarm unit's alarm modes include conventional alarm and remote alarm. Conventional alarm is at least one of sound alarm, visual alarm and vibration alarm. Remote alarm is to send alarm information to a preset mobile phone or medical monitoring center via the network.

[0183] The display unit is used to present the data in the heart rate monitoring system to the user in a visual form. The display content of the display unit includes the heart rate curve, the current heart rate value and the HRV indicator. The display unit has a historical data review function to help users and medical professionals understand the changing trends of the patient's heart health status.

[0184] The method comprises the following steps:

[0185] S1. Information Collection: The information collection device collects the patient's original heart rate data, captures the patient's heart electrical activity, and obtains simulated heart rate data information. The information collection device uses a multi-channel electrocardiogram information synchronous collection method to improve the accuracy and reliability of the collected data. The information collection device includes several electrode-type heart rate sensors;

[0186] Electrode-type heart rate sensors are made of silver and silver chloride. Silver serves as the primary material, and a thin film of silver chloride covers the silver surface. This thin film stabilizes the potential at the interface between the sensor and human skin, reducing electrode potential drift and polarization to improve measurement accuracy and stability. Electrode-type heart rate sensors are distributed along the ECG signal conduction pathway based on the human anatomy and cardiac electrophysiological characteristics. The acquisition frequency of the electrode-type heart rate sensors is 300Hz-1000Hz, capturing all ECG signal information.

[0187] S2, information conditioning: using the information conditioning module to amplify, filter and convert the data type of the simulated heart rate data;

[0188] The information conditioning module includes an information amplification unit and an information filtering unit, and the information amplification unit and the information filtering unit are connected in parallel;

[0189] The information amplification unit includes an information amplifier and an information amplification analog / digital converter. The information amplifier is used to amplify the analog heart rate data information to ensure that the quality of the analog heart rate data information is not reduced; the information amplification analog / digital converter is used to convert the analog heart rate data information amplified by the information amplifier into digital data information; the digital data type is numbered as Class 1 signal;

[0190] The information filtering unit includes a filter component and a filter analog / digital converter. The filter component is used to filter noise and interference in the non-heart rate information frequency band in the analog heart rate data information; the filter analog / digital converter is used to convert the analog data information filtered by the filter component into digital data information; the digital data type number is Class 2 signal;

[0191] The signal amplifier is specifically an instrumentation amplifier, and the operating parameters of the instrumentation amplifier are as follows: the gain is set to 100-1000 times; the input impedance is greater than 1MΩ to reduce the signal loss from the human body to the input end of the signal amplifier;

[0192] The input equivalent noise voltage is less than 10μV RMS, which is used to reduce the noise introduced by the signal amplifier itself and ensure accurate amplification of weak ECG signals;

[0193] Common mode rejection ratio is higher than 100dB to suppress common mode signals caused by improper placement of electrode sensors or power line interference;

[0194] The filter component includes a high-pass filter, a notch filter and a low-pass filter, the high-pass filter is connected in series with the notch filter, and the notch filter is connected in series with the low-pass filter;

[0195] The high-pass filter has a cutoff frequency of 0.5 Hz and is used to remove low-frequency noise and baseline drift while retaining the low-frequency components of the ECG signal;

[0196] The center frequency of the notch filter is set to the frequency of the local power supply to eliminate power line interference;

[0197] The cutoff frequency of the low-pass filter is 250-300Hz, which is used to eliminate electrical interference or electromyographic signals while ensuring that the high-frequency components of the ECG signal are not weakened.

[0198] S3, data fusion: using a data fusion unit to fuse the digital data of the type 1 signal and the digital data of the type 2 signal to obtain comprehensive heart rate digital data;

[0199] The data fusion unit is equipped with a digital signal fusion microprocessor, and the function of the data fusion unit is realized based on the fusion MATLAB software;

[0200] The steps to implement the data fusion unit function are as follows:

[0201] A1. Receive data: Receive digital data of Class 1 signals transmitted by the signal amplifying analog / digital converter and digital data of Class 2 signals transmitted by the filtering analog / digital converter;

[0202] A2. Timestamp alignment: In the digital signal processor, the digital data of the Class 1 signal and the digital data of the Class 2 signal are aligned based on the timestamp information to maintain the temporal consistency of the digital data.

[0203] A3. Fusion: A strategy is adopted to fuse the optimal parts of the digital data of the type 1 signal and the digital data of the type 2 signal to obtain the comprehensive heart rate digital data;

[0204] The specific process of implementing the fusion function is as follows:

[0205] A3.1 Importing data: Use the data acquisition tool in Fusion MATLAB to import the digital data of Class 1 and Class 2 signals into Fusion MATLAB.

[0206] A3.2 Define the optimality criterion: Select the signal-to-noise ratio as the optimality evaluation criterion;

[0207] A3.3 Signal Segmentation: Class 1 and Class 2 signals are segmented into several segments by integrating the buffer function of MATLAB software. The specific operations for signal segmentation are as follows:

[0208] A3.3.1 Use the buffer function on a Class 1 signal to split it into a number of segments of length n. The segments are combined into a matrix 1, where each column of the matrix 1 represents a segment.

[0209] A3.3.2 Use the buffer function on the type 2 signal to split the type 2 signal into a number of segments of length n. The segments are combined into a matrix 2, where each column of the matrix 2 represents a segment.

[0210] n value is 180-600;

[0211] A3.3.3 Handling remainders: If the signal length is not divisible by n, the last segment is padded with zeros to the specified length to ensure that all segments have the same length;

[0212] A3.4 Calculate the optimality of each segment: For each segment, use the signal-to-noise ratio as the criterion to calculate the optimality; the specific operation is as follows:

[0213] A3.4.1 Traversing Segments: For each segment of the Class 1 signal and each segment of the Class 2 signal, traverse the segments separately. The traversal process is achieved by traversing the index number of each segment, where the index number represents the column number of the segment in the matrix to which it belongs.

[0214] A3.4.2 Calculate the signal-to-noise ratio: For each traversed segment, use the snr function in the MATLAB Fusion software to calculate the signal-to-noise ratio;

[0215] A3.4.3 Storing Results: Store the signal-to-noise ratio of each segment in the corresponding array. For segments with Class 1 signals, the signal-to-noise ratio is stored in array snr1; for segments with Class 2 signals, the signal-to-noise ratio is stored in array snr2.

[0216] A3.5 Select the optimal segment: For each segment, compare the optimality of the Class 1 signal and the Class 2 signal and select the optimal segment. The specific operation is as follows:

[0217] A3.5.1 Initialize the optimal segment matrix: Create an optimal segment matrix of the same size as the matrices for the Class 1 and Class 2 signal segments to store the selected optimal segments.

[0218] A3.5.2 Traverse each segment: traverse each segment of the Class 1 signal and the Class 2 signal by looping, and in each loop, process the current segment index;

[0219] A3.5.3 Comparing signal-to-noise ratios: For each segment, compare the signal-to-noise ratios of the Class 1 signal and the Class 2 signal;

[0220] A3.5.4 Select the optimal segment: If the signal-to-noise ratio of the current segment of the Class 1 signal is higher than that of the corresponding segment of the Class 2 signal, the segment of the Class 1 signal is selected as the optimal segment; otherwise, the segment of the Class 2 signal is selected;

[0221] A3.5.5 Store Optimal Segment: Store the selected optimal segment into the initialized optimal segment matrix corresponding to the segment index currently being processed;

[0222] A3.6 Signal Reconstruction: The selected optimal segments are reconnected into a complete signal by splicing. The specific operations are as follows:

[0223] A3.6.1 Initialize the signal: Create an empty array to store the final reconstructed signal;

[0224] A3.6.2 Traverse the selected segments: Traverse the optimal segments one by one in chronological order.

[0225] A3.6.3 Splicing signal segments: Add each selected optimal segment to the end of the reconstructed signal in chronological order; obtain the reconstructed signal;

[0226] A3.7 Smoothing: The reconstructed signal is processed using a sliding average method to achieve a smooth transition. The specific operations are as follows:

[0227] A3.7.1 Determine the smoothing window size: Set a window size, denoted as m, where m is the number of consecutive data points during smoothing. The value of m ranges from 5 to 20.

[0228] A3.7.2 Apply the sliding average method: Use the smoothdata function in the MATLAB software to process the reconstructed signal using the sliding average method. The sliding average operation is based on the previously set window size m. The sliding average is calculated by averaging all data points within the window to update the value of each point as the new signal value, thereby obtaining the integrated heart rate digital data.

[0229] A4, output: transmit the information of the integrated heart rate digital data to the data analysis module;

[0230] S4. Data analysis: using the data analysis module to perform R wave detection, heart rate calculation and heart rate variability analysis on the comprehensive heart rate digital data;

[0231] The data analysis module includes a data analysis microprocessor, an R-wave detection unit, a heart rate calculation unit, and a heart rate variability analysis unit; the R-wave detection unit, the heart rate calculation unit, and the heart rate variability analysis unit are integrated into the data analysis microprocessor;

[0232] The working steps of the data analysis module are as follows:

[0233] B1. R-wave detection: The integrated heart rate digital data is transmitted to the R-wave detection unit, which identifies the R-wave in the integrated heart rate digital data and outputs the R-wave position information. The R-wave is the peak of ventricular contraction. The R-wave detection unit is based on the R-wave detection MATLAB software.

[0234] The specific steps for R wave detection are as follows:

[0235] B1.1 Data import: Use the load or readtable function in the R-wave detection MATLAB software to import the integrated heart rate digital data transmitted from the data fusion unit;

[0236] B1.2 Normalization: Use the normalize function in MATLAB to normalize the integrated heart rate digital data;

[0237] B1.3 Determine R-wave position information: Use the findpeaks function in the R-wave detection MATLAB software to process the normalized integrated heart rate digital data to obtain R-wave position information;

[0238] The findpeaks function is used to identify local maxima for R-wave peak detection. During the calculation of the findpeaks function, the minimum peak value is set to 0.1 mV-0.2 mV, and the minimum peak interval is 240-2000 ms.

[0239] B2. Heart Rate Calculation: The heart rate calculation unit receives the R-wave position information output by the R-wave detection unit and uses it to calculate the RR interval to obtain the heart rate value. The RR interval is the time interval between two consecutive R waves. The heart rate calculation unit is implemented based on the heart rate calculation software equipped with a Python editor.

[0240] The specific process of heart rate calculation is as follows:

[0241] B2.1 Import: Import the NumPy and SciPy libraries for data processing into the Python editor. Import the find_peaks function from the SciPy library. The NumPy library supports dimensional array and matrix operations. find_peaks is a function that finds the local maximum of a one-dimensional array and is used to detect R waves in the data.

[0242] B2.2 Receiving R-wave position information from the R-wave detection unit: Import the np.array function from the NumPy library and use it to convert the R-wave position information obtained from the R-wave detection unit into a NumPy array. The NumPy array stores the positions of all detected R waves, and each element in the NumPy array represents the position of an R wave.

[0243] B2.3 Calculate the time interval between two consecutive R waves by taking the difference of the R wave position array: Import the np.diff function from the NumPy library and use it to calculate the difference between consecutive elements in an array. The result is the RR time interval; the RR time interval is the time interval between two consecutive R waves.

[0244] B2.4 Heart rate calculation:

[0245] B2.4.1 Determine the sampling frequency: The sampling frequency is 300-1000 Hz, and the sampling frequency is the number of data sampling points recorded per second;

[0246] B2.4.2 Convert to seconds: Convert the RR time interval from the number of sampling points to seconds;

[0247] B2.4.3 Calculate the mean: Use the np.mean function in the NumPy library to calculate the average duration of all RR intervals;

[0248] B2.4.4 Divide 60 by the average time to get the heart rate value, which is the number of heartbeats per minute;

[0249] B2.5 Output heart rate value: Use the print function in Python to output the heart rate value, and retain two decimal places.

[0250] B3. Heart rate variability analysis: The heart rate variability analysis unit performs time domain, frequency domain and nonlinear analysis on the RR interval and extracts the HRV index. The HRV index includes time domain index, frequency domain index and nonlinear analysis index.

[0251] Time domain indicators include SDNN, RMSSD, NN50, and pNN50; SDNN is the standard deviation of the RR interval, reflecting the overall variability of the heart rate interval; RMSSD is the root mean square of the difference between consecutive RR intervals, reflecting the rapid change of heart rate variability and related to parasympathetic nerve activity; NN50 is the number of times the difference between adjacent RR intervals exceeds 50ms; pNN50 is the percentage of NN50 to the total number of heart beats, reflecting the rapid changes in heart rate;

[0252] The acquisition of time domain indicators is based on the time domain analysis software with Python editor configured in the heart rate variability analysis unit. The specific process of obtaining time domain indicators is as follows:

[0253] B3.t1 Data import: Import the RR interval data into the time domain analysis software equipped with a Python editor, and import the NumPy library into the Python editor;

[0254] B3.t2 calculates time domain indicators: SDNN: Use the std function in the NumPy library to calculate the standard deviation of all RR intervals to obtain the SDNN value;

[0255] RMSSD: Use numpy.diff in the NumPy library to calculate the difference between consecutive RR intervals; use numpy.mean in the NumPy library to calculate the mean of the squared differences; use numpy.sqrt in the NumPy library to calculate the square root of the mean to obtain the RMSSD value;

[0256] NN50: Use the numpy.diff function in the NumPy library to calculate the difference between consecutive RR intervals; use the numpy.abs function in the NumPy library to calculate the absolute value of the difference; use the numpy.sum function in the NumPy library to count the number of times the absolute value is greater than 50ms to obtain the NN50 value;

[0257] pNN50: Divide NN50 by the total number of RR intervals and multiply the result by 100 to obtain the percentage value of pNN50.

[0258] Frequency domain indicators include LF, HF, and LF / HF ratio. LF is the low-frequency component, reflecting the combined effects of the sympathetic and parasympathetic nervous systems. HF is the high-frequency component, reflecting parasympathetic nervous system activity, especially heart rate variability related to respiration. The LF / HF ratio is the ratio of LF to HF, and is used to assess the balance between the sympathetic and parasympathetic nervous systems.

[0259] Frequency domain indicators are obtained based on the heart rate variability analysis unit configured with frequency domain analysis software containing a Python editor. The specific process of obtaining frequency domain indicators is as follows:

[0260] B3.F1 Import: Import the NumPy and SciPy libraries into the Python editor and load the RR interval data into the time domain analysis software.

[0261] B3.F2 interpolation:

[0262] B3.F2.1 Define sampling rate: A sampling rate value of 2-4 Hz generates 2-4 data points per second;

[0263] B3.F2.2 Calculate the interpolated time points: Use the numpy.cumsum function in the NumPy library to calculate the cumulative sum, convert the RR interval array into a time array, and then generate an equally spaced time vector based on the defined sampling rate. The time vector covers the entire time range from 0 seconds to the last RR interval time point.

[0264] B3.F2.3 Interpolation: Use the numpy.interp function in the NumPy library to perform linear interpolation. The interp function interpolates the original data points at the new time points to obtain equally spaced heart rate time series data.

[0265] B3.F3 Detrending: Import the detrend function from the SciPy library and use the linear detrending method to process the equally spaced heart rate time series data to obtain the heart rate time series without the linear trend.

[0266] B3.F4 uses the Welch method to calculate the power spectral density: The Welch method includes the following:

[0267] B3.F4.1 Signal segmentation: Segment the equally spaced heart rate time series data into multiple overlapping segments of the same length;

[0268] B3.F4.2 Window function application: Apply the Hanning window function to each segment to reduce the discontinuity at both ends of the signal.

[0269] B3.F4.3 Fast Fourier Transform: Perform a fast Fourier transform on each windowed segment to convert the time domain signal into a frequency domain signal, generating a spectrum for each segment.

[0270] B3.F4.4 Power Spectral Density Calculation: Square the spectrum of each segment to obtain the power spectral density of each segment. The power spectral density reflects the power distribution of the signal at different frequencies.

[0271] B3.F4.5 Average power spectral density: average the power spectral density of all segments at the same frequency point to obtain the average power spectral density of the entire time series;

[0272] The Welch method is implemented using the scipy.signal.welch function in the SciPy library. When calling the welch function, the welch function parameters are set as follows: the data sampling rate is 2-4 Hz; the length of each segment is 256-1024 data points; the number of overlapping data points between adjacent segments is 40%-50% of the length of each segment;

[0273] B3.F5 extracts frequency domain indicators:

[0274] LF: Filter out the frequency points between 0.04 and 0.15 Hz and the corresponding average power spectrum density values, and then use the numpy.trapz function in the NumPy library to integrate and obtain LF;

[0275] HF: Filter out the frequency points between 0.15 and 0.4 Hz and the corresponding average power spectral density values, and then use the numpy.trapz function in the NumPy library to integrate and obtain HF;

[0276] LF / HF ratio: The LF / HF ratio is calculated by dividing LF by HF.

[0277] Nonlinear analysis indicators include PoincaréPlot indicator, sample entropy indicator and detrended fluctuation analysis indicator. PoincaréPlot indicator is a scatter plot used to visualize the changes in RR intervals. PoincaréPlot indicator includes SD1 axis and SD2 axis. SD1 axis represents the short-term variability of heart rate; SD2 axis represents the long-term variability of heart rate.

[0278] The sample entropy index is used to measure the degree of control of the cardiac autonomic nervous system on heart rate; the detrended fluctuation analysis indicators include the fluctuation standard deviation and fluctuation amplitude. The fluctuation standard deviation represents the degree of change in heart rate variability; the fluctuation amplitude measures the amplitude of the heart rate in different time periods.

[0279] The acquisition of nonlinear analysis indicators is based on the nonlinear analysis software with Python editor configured in the heart rate variability analysis unit. The specific process of obtaining nonlinear analysis indicators is as follows:

[0280] B3.n.1 Import the NumPy, Matplotlib, HeartPy, and SciPy libraries into the Python editor.

[0281] B3.n.2 Obtaining Poincaré Plot Indicators: Use the numpy.array function in the NumPy library to convert the RR interval data into a NumPy array. Then, by slicing the NumPy array, obtain the current and subsequent RR interval data.

[0282] Calculate the difference between the current RR interval and the subsequent RR interval as the first-order difference of the RR interval;

[0283] Use the first-order difference as the x-coordinate and the value of the first-order difference delayed by one step as the y-coordinate to obtain the scattered data in PoincaréPlot;

[0284] Use the scatter function in the Matplotlib library to draw a scatter plot using a fitted curve. The x-coordinate represents the first-order difference of the current RR interval, and the y-coordinate represents the first-order difference of the subsequent RR interval. Set the scatter point size to 8-12 and the scatter point shape to an ellipse; the transparency is 0.5-0.8; the lengths of the minor and major axes in the ellipse are used as the values ​​of the SD1 and SD2 main axes, respectively.

[0285] B3.n.3 Sample entropy index calculation: Load the equally spaced heart rate time series data; use the sample_entropy function in the HeartPy library to calculate the sample entropy index for the equally spaced heart rate time series data;

[0286] B3.n.4 Obtaining Detrended Fluctuation Analysis Indicators: Import the detrend function from the SciPy library and use the linear detrending method to process the equally spaced heart rate time series data. This function will produce a heart rate time series with the linear detrended data removed.

[0287] Calculate the standard deviation of fluctuations: Use the numpy.std function in the NumPy library to calculate the standard deviation of the heart rate time series after removing the linear trend; obtain the standard deviation of fluctuations;

[0288] Fluctuation amplitude analysis: Use the numpy.max and numpy.min functions in the NumPy library to find the maximum and minimum values ​​of the heart rate time series data after removing the linear trend, respectively. The difference between the maximum and minimum values ​​is used as an indicator of amplitude change to obtain the fluctuation amplitude.

[0289] The try-catch structure is used to wrap code blocks in the programs of R-wave detection MATLAB software, heart rate calculation software, fusion MATLAB software, time domain analysis software, frequency domain analysis software, and nonlinear analysis software. The try-catch structure is an exception handling mechanism; the try-catch structure consists of a try block and a catch block. When the program executes the code in the try block, if an exception occurs, the exception is caught and the program does not crash immediately. The control flow jumps to the corresponding catch block. In the catch block code, the developer defines how to handle the error when an exception occurs, including recording error information and notifying the user.

[0290] Specific embodiment 2: The specific process of realizing the fusion function is as follows:

[0291] A3.1 Import data: Use the data acquisition tool in MATLAB software to import the Class 1 signal and the Class 2 signal into MATLAB.

[0292] A3.2 Define the optimality criterion: Select the signal-to-noise ratio as the optimality evaluation criterion;

[0293] A3.3 Signal Segmentation: Use the MATLAB buffer function to split the two signals into several segments. The specific operations are as follows:

[0294] segmentLength = n;

[0295] signal1Segments=buffer(signal1,segmentLength);

[0296] signal2Segments=buffer(signal2,segmentLength);

[0297] Among them, segmentLength is the length of each segment to be divided, and n means that each segment contains n data points;

[0298] signal1Segments = buffer(signal1, segmentLength) applies to a Class 1 signal. signal1 is the raw digital data of the Class 1 signal to be segmented, a one-bit array containing several data points. signal1Segments is the output of the buffer function, a matrix whose columns represent a segment of signal1. When the length of signal1 is not divisible by segmentLength, the last segment is padded with zeros to reach the specified length.

[0299] signal2Segments = buffer(signal2, segmentLength) is applied to a Class 2 signal. signal2 is the raw digital data of the Class 2 signal to be segmented, a one-bit array containing several data points. signal2Segments is the output of the buffer function, a matrix where each column represents a segment of signal2. When the length of signal2 is not divisible by segmentLength, the last segment is padded with zeros to reach the specified length.

[0300] The buffer function is used to split two long signals signal1 and signal2 into several segments of length segmentLength, which are stored in the signal1Segments and signal2Segments matrices respectively;

[0301] A3.4 Calculate the optimality of each segment: For each segment, use the standard calculation of the signal-to-noise ratio; the specific operation is as follows:

[0302] snr1=arrayfun(@(x)snr(signal1Segments(:,x)),1:size(signal1Segments,2))

[0303] snr2=arrayfun(@(x)snr(signal2Segments(:,x)),1:size(signal2Segments,2));

[0304] Where arrayfun is a function in MATLAB that is used to traverse each segment of the signal and apply the snr function to each segment to calculate the signal-to-noise ratio;

[0305] @(x) is the anonymous function syntax in MATLAB. @(x) defines an anonymous function with x as a variable. x represents the index number of the signal segment.

[0306] snr(signal1Segments(:,x)) calls MATLAB's snr function to calculate the signal-to-noise ratio of a Class 1 signal segment. signal1Segments(:,x) represents the xth column taken from the signal1Segments matrix. The xth column is the xth segment of the Class 1 signal. The snr function returns the signal-to-noise ratio value of the xth segment. 1:size(signal1Segments,2) is an integer sequence from 1 to the number of columns in the signal1Segments matrix, representing the index number of the Class 1 signal segment. size(signal1Segments,2) calculates the number of columns in signal1Segments, representing the total number of segments into which the Class 1 signal is divided.

[0307] snr(signal2Segments(:,x)) calls MATLAB's snr function to calculate the signal-to-noise ratio of the 2-category signal segment. signal2Segments(:,x) represents the x-th column taken from the signal2Segments matrix. The x-th column is the x-th segment of the 2-category signal. The snr function returns the signal-to-noise ratio value of the x-th segment. 1:size(signal2Segments,2) is an integer sequence from 1 to the number of columns in the signal2Segments matrix, representing the index number of the 2-category signal segment. size(signal2Segments,2) calculates the number of columns in signal2Segments, representing the total number of segments into which the 2-category signal is divided.

[0308] snr1 and snr2 are arrays, indicating that the signal-to-noise ratios of all segments of Class 1 and Class 2 signals are calculated and stored. snr1 stores the signal-to-noise ratio of each segment of Class 1, and snr2 stores the signal-to-noise ratio of each segment of Class 2.

[0309] A3.5 Select the optimal segment: For each segment, compare the optimality of Class 1 and Class 2 signals and select the optimal segment. The specific operation is as follows:

[0310] Among them, selectedSegments=zeros(size(signal1Segments)) means initializing a matrix of the same size as signal1Segments to store the optimal segments after selection;

[0311] for i=1:size(signal1Segments,2) means traversing each signal type through a for loop, where i is the index of the data type currently being processed;

[0312] if snr1(i)>snr2(i) means if the snr of the i-th segment of the type 1 signal is greater than the i-th segment of the type 2 signal;

[0313] selectedSegments(:,i)=signal1Segments(:,i) means selecting the i-th segment of the type 1 signal as the optimal segment;

[0314] else

[0315] selectedSegments(:,i)=signal2Segments(:,i), which means: Otherwise, select the i-th segment of the 2-type signal as the optimal segment

[0316] A3.6 Reconstruct the signal: Reconnect the selected optimal segments into a complete data type by splicing. The specific operations are as follows:

[0317] mergedSignal = reshape(selectedSegments, [], 1); where selectedSegments is a matrix containing all the segments selected as optimal; the reshape function is used to reshape the selectedSegments matrix into a single column vector. The process of reconstructing it into a single column vector is to connect all the selected optimal segments in sequence to form a continuous signal; the [] in reshape(selectedSegments, [], 1) indicates that the size of this dimension is automatically calculated so that all elements of selectedSegments can be rearranged into a column vector, and 1 indicates that the final column vector has only one column;

[0318] A3.7 Smoothing: For discontinuities at merging points, a sliding average technique is used to achieve a smooth transition. The specific operations are as follows:

[0319] windowSize = m;

[0320] mergedSignalSmooth=smoothdata(mergedSignal,'movmean',windowSize);

[0321] windowSize=m sets the window size used for smoothing. When the window size is set to m, the average of m consecutive data points is calculated each time during smoothing. windowSize is passed as a parameter to define the number of adjacent points in the sliding average.

[0322] smoothdata is a built-in function in MATLAB for data smoothing, mergedSignal is the merged signal to be processed; 'movmean' specifies the smoothing method as sliding average.

[0323] Specific embodiment 3: The heart rate value calculation process is as follows:

[0324] B2.1 Import the NumPy and SciPy libraries for data processing into the Python editor. The specific steps are as follows:

[0325] import numpy as np

[0326] from scipy.signal import find_peaks

[0327] Import numpy as np: This line of code imports the NumPy library, referred to as np. NumPy is a Python library that supports dimensional array and matrix operations and provides a mathematical function library for array operations. In the heart rate calculation process, it is used for data processing and mathematical operations.

[0328] from scipy.signal import find_peaks: This line of code imports the find_peaks function from the SciPy signal module; find_peaks is a function used to find the local maximum of a one-dimensional array. In data analysis, it is used to detect R waves in the data.

[0329] B2.2 Receive R-wave position information from the R-wave detection unit. The specific operations are as follows:

[0330] r_wave_positions=np.array([...]);

[0331] Among them, np.array([...]) is a function of the NumPy library, which is used to create an array. The np.array() function is used to convert the R-wave position information into a NumPy array. Each element in the NumPy array represents the position of an R-wave. The R-wave position data is transmitted by the R-wave detection unit.

[0332] r_wave_positions is a variable name used to store the NumPy array created by the np.array() function; the NumPy array contains the position information of all detected R waves;

[0333] [...]: is a placeholder that represents the actual R-wave position data filling position,

[0334] B2.3 Calculate the time interval between two consecutive R waves by calculating the difference of the R wave position array. The specific steps are as follows:

[0335] rr_intervals=np.diff(r_wave_positions),

[0336] Among them, np.diff(...) is a function in the NumPy library that is used to calculate the difference between consecutive elements in an array; specifically, np.diff(arr) will return a new array, each element in the new array is the difference between adjacent elements in the original array array;

[0337] r_wave_positions is an array containing the position information of the R wave, indicating the specific position index of the R wave in the heart data;

[0338] rr_intervals = ...: This line of code calculates the time interval between two consecutive R waves, that is, the RR interval. The result calculated by np.diff(r_wave_positions) is the RR interval. The rr_intervals variable is assigned the result of the R wave position difference, which is an array of intervals between two consecutive R waves.

[0339] B2.4 Heart rate can be calculated using the following formula: heart rate (beats / minute) = (average of 60\div RR intervals), specifically: fs = x rr_intervals_seconds = rr_intervals / fs average_rr_interval = np.mean(rr_intervals_seconds) heart_rate = 60 / average_rr_interval

[0340] Where fs is the sampling frequency, which is determined by the specific parameters of the data acquisition device; rr_intervals_seconds = rr_intervals / fs

[0341] rr_intervals_seconds is a new variable used to store the RR interval time converted to seconds;

[0342] rr_intervals: The interval between two consecutive R waves obtained by calculation, the unit is the number of sampling points;

[0343] / : Division operator, used to convert the RR interval to seconds by dividing the RR interval by the sampling frequency (fs);

[0344] average_rr_interval=np.mean(rr_intervals_seconds);

[0345] average_rr_interval is a variable used to store the average value of the RR interval in seconds;

[0346] np.mean() is a function in the NumPy library that calculates the mean of given data. It is used to calculate the mean of all elements in the rr_intervals_seconds array to calculate the average time length of all RR intervals.

[0347] rr_intervals_seconds: RR interval time array converted to seconds;

[0348] eart_rate=60 / average_rr_interval: heart_rate: a variable used to store the calculated heart rate, the unit is the number of heart beats per minute, / : division operator, used to calculate the heart rate; average_rr_interval: the average value of the RR interval.

[0349] B2.5 Output heart rate value: Use the print function in Python to output the heart rate value, and retain two decimal places.

[0350] The specific embodiments described herein are merely illustrative of the spirit of the invention. Those skilled in the art to which the invention pertains may make various modifications or additions to the described specific embodiments or substitute them in a similar manner, but will not deviate from the spirit of the invention or exceed the defined scope. Although the invention has been described and described in detail in the accompanying drawings and the foregoing description, such illustrations and descriptions are considered to be illustrative or exemplary rather than restrictive. It should be understood that within the scope of the following claims, changes and modifications may be made by those of ordinary skill in the art. Specifically, the present invention encompasses additional embodiments having any combination of features from the different embodiments described above. With respect to the use of the expression "generally" or "substantially", this patent application should be understood to disclose features and values ​​that also fully satisfy these features and values, i.e., without the aforementioned characterization as "generally" or "substantially".

[0351] In the description of the present invention, it should be noted that, unless otherwise expressly specified or limited, the terms "mounted," "connected," and "connected" should be understood in a broad sense. For example, they may refer to fixed, detachable, or integral connections; mechanical or electrical connections; direct or indirect connections through an intermediate medium; and internal communication between two components. Those skilled in the art will understand the specific meanings of the above terms in the present invention based on the specific circumstances.

Claims

1. A data processing method for a heart rate monitoring system, wherein the method is used in the heart rate monitoring system, the heart rate monitoring system comprising: Power supply device, information collection device, information conditioning module, data fusion unit, data analysis module, anomaly detection and alarm module, display unit and storage unit; Characterized in that the method comprises the following steps: S1. Information Collection: The information collection device collects the patient's original heart rate data, captures the patient's heart electrical activity, and obtains simulated heart rate data information. The information collection device uses a multi-channel electrocardiogram information synchronous collection method to improve the accuracy and reliability of the collected data. The information collection device includes several electrode-type heart rate sensors; S2. Information conditioning: Using the information conditioning module to amplify, filter and convert the data type of the simulated heart rate data; The information conditioning module includes an information amplification unit and an information filtering unit, and the information amplification unit and the information filtering unit are connected in parallel; The information amplification unit includes an information amplifier and an information amplification analog / digital converter. The information amplifier is used to amplify the analog heart rate data information to ensure that the quality of the analog heart rate data information is not reduced; the information amplification analog / digital converter is used to convert the analog heart rate data information amplified by the information amplifier into digital data information; the digital data type is numbered as Class 1 signal; The information filtering unit includes a filter component and a filter analog / digital converter. The filter component is used to filter noise and interference in the non-heart rate information frequency band in the analog heart rate data information; the filter analog / digital converter is used to convert the analog data information filtered by the filter component into digital data information; the digital data type number is Class 2 signal; S3, data fusion: using a data fusion unit to fuse the digital data of the type 1 signal and the digital data of the type 2 signal to obtain comprehensive heart rate digital data; The data fusion unit is equipped with a digital signal fusion microprocessor, and the function of the data fusion unit is realized based on the fusion MATLAB software; The steps to implement the data fusion unit function are as follows: A1. Receive data: Receive digital data of Class 1 signals transmitted by the signal amplifying analog / digital converter and digital data of Class 2 signals transmitted by the filtering analog / digital converter; A2. Timestamp alignment: In the digital signal processor, the digital data of the Class 1 signal and the digital data of the Class 2 signal are aligned based on the timestamp information to maintain the temporal consistency of the digital data. A3. Fusion: A strategy is adopted to fuse the optimal parts of the digital data of the type 1 signal and the digital data of the type 2 signal to obtain the comprehensive heart rate digital data; A4, output: transmit the information of the integrated heart rate digital data to the data analysis module; S4. Data analysis: using the data analysis module to perform R wave detection, heart rate calculation and heart rate variability analysis on the comprehensive heart rate digital data; The data analysis module includes a data analysis microprocessor, an R-wave detection unit, a heart rate calculation unit, and a heart rate variability analysis unit; the R-wave detection unit, the heart rate calculation unit, and the heart rate variability analysis unit are integrated into the data analysis microprocessor; The working steps of the data analysis module are as follows: B1. R-wave detection: The integrated heart rate digital data is transmitted to the R-wave detection unit, which identifies the R-wave in the integrated heart rate digital data and outputs the R-wave position information. The R-wave is the peak of ventricular contraction. The R-wave detection unit is based on the R-wave detection MATLAB software. B2. Heart Rate Calculation: The heart rate calculation unit receives the R-wave position information output by the R-wave detection unit and uses it to calculate the RR interval to obtain the heart rate value. The RR interval is the time interval between two consecutive R waves. The heart rate calculation unit is implemented based on the heart rate calculation software equipped with a Python editor. B3. Heart rate variability analysis: The heart rate variability analysis unit performs time domain, frequency domain and nonlinear analysis on the RR interval and extracts the HRV index. The HRV index includes time domain index, frequency domain index and nonlinear analysis index. Time domain indicators include SDNN, RMSSD, NN50, and pNN50; SDNN is the standard deviation of the RR interval, reflecting the overall variability of the heart rate interval; RMSSD is the root mean square of the difference between consecutive RR intervals, reflecting the rapid change of heart rate variability and related to parasympathetic nerve activity; NN50 is the number of times the difference between adjacent RR intervals exceeds 50ms; pNN50 is the percentage of NN50 to the total number of heart beats, reflecting the rapid changes in heart rate; Frequency domain indicators include LF, HF, and LF / HF ratio. LF is the low-frequency component, reflecting the combined effects of the sympathetic and parasympathetic nervous systems. HF is the high-frequency component, reflecting parasympathetic nervous system activity, especially heart rate variability related to respiration. The LF / HF ratio is the ratio of LF to HF, and is used to assess the balance between the sympathetic and parasympathetic nervous systems. Nonlinear analysis indicators include PoincaréPlot indicator, sample entropy indicator and detrended fluctuation analysis indicator. PoincaréPlot indicator is a scatter plot used to visualize the changes in RR intervals. PoincaréPlot indicator includes SD1 axis and SD2 axis. SD1 axis represents the short-term variability of heart rate; SD2 axis represents the long-term variability of heart rate. The sample entropy index is used to measure the degree of control of the cardiac autonomic nervous system on heart rate; the detrended fluctuation analysis indicators include the fluctuation standard deviation and fluctuation amplitude. The fluctuation standard deviation represents the degree of change in heart rate variability; the fluctuation amplitude measures the amplitude of the heart rate in different time periods.

2. The data processing method for a heart rate monitoring system according to claim 1, wherein: The power supply device includes a main power interface, a rechargeable battery module and a charging control unit; The main power interface is used to connect an external power source. When the external power source is available, the heart rate monitoring system is powered through the main power interface. The rechargeable battery module includes at least one rechargeable battery for powering the heart rate monitoring system when the external power supply is unavailable. The rechargeable battery module uses an automatic switching mechanism that can automatically detect the status of the external power supply. When the external power supply is available, it automatically switches to the main power interface for power supply. When the external power supply is unavailable, it automatically switches to the rechargeable battery module for power supply. When the heart rate monitoring system is powered by the main power interface, the charging control unit automatically charges the rechargeable battery module to ensure sufficient power of the rechargeable battery; In step S1, the electrode-type heart rate sensor is made of silver and silver chloride. Silver is the main material of the electrode-type heart rate sensor, and the surface of the silver is covered with a layer of silver chloride film. The silver chloride film is used to stabilize the potential at the interface between the electrode-type heart rate sensor and human skin, reduce electrode potential drift and electrode polarization, and thus improve measurement accuracy and stability. Electrode-type heart rate sensors are distributed along the ECG signal conduction path according to the human anatomical structure and cardiac electrophysiological characteristics. The acquisition frequency of the electrode-type heart rate sensor is 300Hz-1000Hz to capture all the information of the ECG signal. The abnormality detection alarm module includes an abnormality detection microprocessor, an abnormality pattern recognition unit and an alarm unit. The abnormality pattern recognition unit and the alarm unit are integrated in the abnormality detection microprocessor. The abnormal pattern recognition unit is used to detect whether the heart rate value and HRV index are abnormal. The abnormal pattern recognition unit has a fault tolerance mechanism. By setting a time window T, the alarm is activated when the abnormal data is continuously monitored for more than T. The functional implementation steps of the abnormal pattern recognition unit are as follows: setting thresholds: setting the threshold of the normal range of heart rate values, setting the threshold of the normal value of HRV indicators, and setting the threshold of T value; judging whether there is an abnormality by comparing the heart rate value with the threshold of the normal range of heart rate values, and comparing the HRV indicator with the threshold of the normal value of HRV indicators; if the abnormal time exceeds the threshold of T value, activating an alarm; The alarm unit's alarm modes include conventional alarm and remote alarm. Conventional alarm is at least one of sound alarm, visual alarm and vibration alarm. Remote alarm is to send alarm information to a preset mobile phone or medical monitoring center via the network. The display unit is used to display the data in the heart rate monitoring system to the user in a visual form. The display content of the display unit includes the heart rate curve, the current heart rate value and the HRV index; The display unit has a historical data review function to help users and medical professionals understand the changing trends of patients' heart health status.

3. The data processing method for a heart rate monitoring system according to claim 1, wherein: In step S2, the signal amplifier is specifically an instrumentation amplifier, and the operating parameters of the instrumentation amplifier are as follows: the gain is set to 100-1000 times; the input impedance is greater than 1MΩ to reduce the signal loss from the human body to the input end of the signal amplifier; The input equivalent noise voltage is less than 10μV RMS, which is used to reduce the noise introduced by the signal amplifier itself and ensure accurate amplification of weak ECG signals; Common mode rejection ratio is higher than 100dB to suppress common mode signals caused by improper placement of electrode sensors or power line interference; The filter component includes a high-pass filter, a notch filter and a low-pass filter, the high-pass filter is connected in series with the notch filter, and the notch filter is connected in series with the low-pass filter; The high-pass filter has a cutoff frequency of 0.5 Hz and is used to remove low-frequency noise and baseline drift while retaining the low-frequency components of the ECG signal; The center frequency of the notch filter is set to the frequency of the local power supply to eliminate power line interference; The cutoff frequency of the low-pass filter is 250-300Hz, which is used to eliminate electrical interference or electromyographic signals while ensuring that the high-frequency components of the ECG signal are not weakened.

4. The data processing method for a heart rate monitoring system according to claim 1, wherein: In step A3 of step S3, the specific process of implementing the fusion function is as follows: A3.1 Importing data: Use the data acquisition tool in Fusion MATLAB to import the digital data of Class 1 and Class 2 signals into Fusion MATLAB. A3.2 Define the optimality criterion: Select the signal-to-noise ratio as the optimality evaluation criterion; A3.3 Signal Segmentation: Class 1 and Class 2 signals are segmented into several segments by integrating the buffer function of MATLAB software. The specific operations for signal segmentation are as follows: A3.3.1 Use the buffer function on a Class 1 signal to split it into a number of segments of length n. The segments are combined into a matrix 1, where each column of the matrix 1 represents a segment. A3.3.2 Use the buffer function on the type 2 signal to split the type 2 signal into a number of segments of length n. The segments are combined into a matrix 2, where each column of the matrix 2 represents a segment. n value is 180-600; A3.3.3 Handling remainders: If the signal length is not divisible by n, the last segment is padded with zeros to the specified length to ensure that all segments have the same length; A3.4 Calculate the optimality of each segment: For each segment, use the signal-to-noise ratio as the criterion to calculate the optimality; the specific operation is as follows: A3.4.1 Traversing Segments: For each segment of the Class 1 signal and each segment of the Class 2 signal, traverse the segments separately. The traversal process is achieved by traversing the index number of each segment, where the index number represents the column number of the segment in the matrix to which it belongs. A3.4.2 Calculate the signal-to-noise ratio: For each traversed segment, use the snr function in the MATLAB Fusion software to calculate the signal-to-noise ratio; A3.4.3 Storing Results: Store the signal-to-noise ratio of each segment in the corresponding array. For segments with Class 1 signals, the signal-to-noise ratio is stored in array snr1; for segments with Class 2 signals, the signal-to-noise ratio is stored in array snr2. A3.5 Select the optimal segment: For each segment, compare the optimality of the Class 1 signal and the Class 2 signal and select the optimal segment. The specific operation is as follows: A3.5.1 Initialize the optimal segment matrix: Create an optimal segment matrix of the same size as the matrices for the Class 1 and Class 2 signal segments to store the selected optimal segments. A3.5.2 Traverse each segment: traverse each segment of the Class 1 signal and the Class 2 signal by looping, and in each loop, process the current segment index; A3.5.3 Comparing signal-to-noise ratios: For each segment, compare the signal-to-noise ratios of the Class 1 signal and the Class 2 signal; A3.5.4 Select the optimal segment: If the signal-to-noise ratio of the current segment of the Class 1 signal is higher than that of the corresponding segment of the Class 2 signal, the segment of the Class 1 signal is selected as the optimal segment; otherwise, the segment of the Class 2 signal is selected; A3.5.5 Store Optimal Segment: Store the selected optimal segment into the initialized optimal segment matrix corresponding to the segment index currently being processed; A3.6 Signal Reconstruction: The selected optimal segments are reconnected into a complete signal by splicing. The specific operations are as follows: A3.6.1 Initialize the signal: Create an empty array to store the final reconstructed signal; A3.6.2 Traverse the selected segments: Traverse the optimal segments one by one in chronological order. A3.6.3 Splicing signal segments: Add each selected optimal segment to the end of the reconstructed signal in chronological order; obtain the reconstructed signal; A3.7 Smoothing: The reconstructed signal is processed using a sliding average method to achieve a smooth transition. The specific operations are as follows: A3.7.1 Determine the smoothing window size: Set a window size, denoted as m, where m is the number of consecutive data points during smoothing. The value of m ranges from 5 to 20. A3.7.2 Apply the sliding average method: Use the smoothdata function in the MATLAB software to process the reconstructed signal using the sliding average method. The sliding average operation is based on the previously set window size m. The sliding average is calculated by averaging all data points within the window to update the value of each point as the new signal value, thereby obtaining the integrated heart rate digital data.

5. The data processing method for a heart rate monitoring system according to claim 1, wherein: In step S4 B1, the specific steps of R wave detection are as follows: B1.1 Data import: Use the load or readtable function in the R-wave detection MATLAB software to import the integrated heart rate digital data transmitted from the data fusion unit; B1.2 Normalization: Use the normalize function in MATLAB to normalize the integrated heart rate digital data; B1.3 Determine R-wave position information: Use the findpeaks function in the R-wave detection MATLAB software to process the normalized integrated heart rate digital data to obtain R-wave position information; The findpeaks function is used to identify local maxima for R-wave peak detection. During the calculation of the findpeaks function, the minimum peak value is set to 0.1 mV-0.2 mV, and the minimum peak interval is 240-2000 ms.

6. The data processing method for a heart rate monitoring system according to claim 1, wherein: In step B2 of step S4, the specific process of heart rate calculation is as follows: B2.1 Import: Import the NumPy and SciPy libraries for data processing into the Python editor. Import the find_peaks function from the SciPy library. The NumPy library supports dimensional array and matrix operations. find_peaks is a function that finds the local maximum of a one-dimensional array and is used to detect R waves in the data. B2.2 Receiving R-wave position information from the R-wave detection unit: Import the np.array function from the NumPy library and use it to convert the R-wave position information obtained from the R-wave detection unit into a NumPy array. The NumPy array stores the positions of all detected R waves, and each element in the NumPy array represents the position of an R wave. B2.3 Calculate the time interval between two consecutive R waves by taking the difference of the R wave position array: Import the np.diff function from the NumPy library and use it to calculate the difference between consecutive elements in an array. The result is the RR time interval; the RR time interval is the time interval between two consecutive R waves. B2.4 Heart rate calculation: B2.4.1 Determine the sampling frequency: The sampling frequency is 300-1000 Hz, and the sampling frequency is the number of data sampling points recorded per second; B2.4.2 Convert to seconds: Convert the RR time interval from the number of sampling points to seconds; B2.4.3 Calculate the mean: Use the np.mean function in the NumPy library to calculate the average duration of all RR intervals; B2.4.4 Divide 60 by the average time to get the heart rate value, which is the number of heartbeats per minute; B2.5 Output heart rate value: Use the print function in Python to output the heart rate value, and retain two decimal places.

7. The data processing method for a heart rate monitoring system according to claim 1, wherein: In step B3 of step S4, the acquisition of the time domain index is based on the time domain analysis software with a Python editor configured in the heart rate variability analysis unit; the specific process of obtaining the time domain index is as follows; B3.t1 Data import: Import the RR interval data into the time domain analysis software equipped with a Python editor, and import the NumPy library into the Python editor; B3.t2 calculates time domain indicators: SDNN: Use the std function in the NumPy library to calculate the standard deviation of all RR intervals to obtain the SDNN value; RMSSD: Use numpy.diff in the NumPy library to calculate the difference between consecutive RR intervals; use numpy.mean in the NumPy library to calculate the mean of the squared differences; use numpy.sqrt in the NumPy library to calculate the square root of the mean to obtain the RMSSD value; NN50: Use the numpy.diff function in the NumPy library to calculate the difference between consecutive RR intervals; use the numpy.abs function in the NumPy library to calculate the absolute value of the difference; use the numpy.sum function in the NumPy library to count the number of times the absolute value is greater than 50ms to obtain the NN50 value; pNN50: Divide NN50 by the total number of RR intervals and multiply the result by 100 to obtain the percentage value of pNN50.

8. The data processing method for a heart rate monitoring system according to claim 1, wherein: In step S4 B3, the frequency domain index is obtained based on the frequency domain analysis software with a Python editor configured in the heart rate variability analysis unit. The specific process of obtaining the frequency domain index is as follows: B3.F1 Import: Import the NumPy and SciPy libraries into the Python editor and load the RR interval data into the time domain analysis software. B3.F2 interpolation: B3.F2.1 Define sampling rate: A sampling rate value of 2-4 Hz generates 2-4 data points per second; B3.F2.2 Calculate the interpolated time points: Use the numpy.cumsum function in the NumPy library to calculate the cumulative sum, convert the RR interval array into a time array, and then generate an equally spaced time vector based on the defined sampling rate. The time vector covers the entire time range from 0 seconds to the last RR interval time point. B3.F2.3 Interpolation: Use the numpy.interp function in the NumPy library to perform linear interpolation. The interp function interpolates the original data points at the new time points to obtain equally spaced heart rate time series data. B3.F3 Detrending: Import the detrend function from the SciPy library and use the linear detrending method to process the equally spaced heart rate time series data to obtain the heart rate time series without the linear trend. B3.F4 uses the Welch method to calculate the power spectral density: The Welch method includes the following: B3.F4.1 Signal segmentation: Segment the equally spaced heart rate time series data into multiple overlapping segments of the same length; B3.F4.2 Window function application: Apply the Hanning window function to each segment to reduce the discontinuity at both ends of the signal. B3.F4.3 Fast Fourier Transform: Perform a fast Fourier transform on each windowed segment to convert the time domain signal into a frequency domain signal, generating a spectrum for each segment. B3.F4.4 Power Spectral Density Calculation: Square the spectrum of each segment to obtain the power spectral density of each segment. The power spectral density reflects the power distribution of the signal at different frequencies. B3.F4.5 Average power spectral density: average the power spectral density of all segments at the same frequency point to obtain the average power spectral density of the entire time series; The Welch method is implemented using the scipy.signal.welch function in the SciPy library. When calling the welch function, the welch function parameters are set as follows: the data sampling rate is 2-4 Hz; the length of each segment is 256-1024 data points; the number of overlapping data points between adjacent segments is 40%-50% of the length of each segment; B3.F5 extracts frequency domain indicators: LF: Filter out the frequency points between 0.04 and 0.15 Hz and the corresponding average power spectrum density values, and then use the numpy.trapz function in the NumPy library to integrate and obtain LF; HF: Filter out the frequency points between 0.15 and 0.4 Hz and the corresponding average power spectral density values, and then use the numpy.trapz function in the NumPy library to integrate and obtain HF; LF / HF ratio: The LF / HF ratio is calculated by dividing LF by HF.

9. The data processing method for a heart rate monitoring system according to claim 8, wherein: In step S4 B3, the nonlinear analysis index is obtained based on the nonlinear analysis software containing a Python editor configured in the heart rate variability analysis unit. The specific process of obtaining the nonlinear analysis index is as follows: B3.n.1 Import the NumPy, Matplotlib, HeartPy, and SciPy libraries into the Python editor. B3.n.2 Obtaining Poincaré Plot Indicators: Use the numpy.array function in the NumPy library to convert the RR interval data into a NumPy array. Then, by slicing the NumPy array, obtain the current and subsequent RR interval data. Calculate the difference between the current RR interval and the subsequent RR interval as the first-order difference of the RR interval; Use the first-order difference as the x-coordinate and the value of the first-order difference delayed by one step as the y-coordinate to obtain the scattered data in PoincaréPlot; Use the scatter function in the Matplotlib library to draw a scatter plot using a fitted curve. The x-coordinate represents the first-order difference of the current RR interval, and the y-coordinate represents the first-order difference of the subsequent RR interval. Set the scatter point size to 8-12 and the scatter point shape to an ellipse; the transparency is 0.5-0.8; the lengths of the minor and major axes in the ellipse are used as the values ​​of the SD1 and SD2 main axes, respectively. B3.n.3 Sample entropy index calculation: Load the equally spaced heart rate time series data; use the sample_entropy function in the HeartPy library to calculate the sample entropy index for the equally spaced heart rate time series data; B3.n.4 Obtaining Detrended Fluctuation Analysis Indicators: Import the detrend function from the SciPy library and use the linear detrending method to process the equally spaced heart rate time series data. This function will produce a heart rate time series with the linear detrended data removed. Calculate the standard deviation of fluctuations: Use the numpy.std function in the NumPy library to calculate the standard deviation of the heart rate time series after removing the linear trend; obtain the standard deviation of fluctuations; Fluctuation amplitude analysis: Use the numpy.max and numpy.min functions in the NumPy library to find the maximum and minimum values ​​of the heart rate time series data after removing the linear trend, respectively. The difference between the maximum and minimum values ​​is used as an indicator of amplitude change to obtain the fluctuation amplitude.

10. The data processing method for a heart rate monitoring system according to claim 9, wherein: The try-catch structure is used to wrap code blocks in the programs of R-wave detection MATLAB software, heart rate calculation software, fusion MATLAB software, time domain analysis software, frequency domain analysis software, and nonlinear analysis software. The try-catch structure is an exception handling mechanism; the try-catch structure consists of a try block and a catch block. When the program executes the code in the try block, if an exception occurs, the exception is caught and the program does not crash immediately. The control flow jumps to the corresponding catch block. In the catch block code, the developer defines how to handle the error when an exception occurs, including recording error information and notifying the user.

Citation Information

Patent Citations

  • Heart rate variability analysis method, heart rate variability analysis system and terminal

    CN105796096A

  • Heart-rate abnormal data detecting and reminding method and intelligent watch

    CN107126202A

  • Infusion monitoring and vital sign detecting system

    CN108187186A

  • Whole brain region electroencephalogram cap for transcranial magnetic stimulator treatment

    CN114366127A

  • Data processing method for heart rate monitoring system

    CN117898692A

Cited By

  • Electric energy data accurate acquisition method and system adopting double configuration

    CN120893003A

  • Newborn body temperature abnormity prediction method and device and storage medium

    CN121337286A

  • Children asthma airway reaction intelligent monitoring and health management system

    CN121641456A

  • Valve fault data detection method and system

    CN121901932A

  • Physiological monitoring system for vehicle simulation driving under different road conditions

    CN122271987A