Non-contact heart rate measuring system based on structural vibration sensing

Through a non-contact heart rate measurement system based on structural vibration sensing, the high-sensitivity seismic detector and advanced signal processing algorithms are used to solve the problem of signal capture and noise suppression in the prior art, and high-precision heart rate monitoring in a multi-user environment is realized, contact restriction and noise interference are avoided, and it is suitable for coexistence scenarios between special groups and multiple people.

CN120501401APending Publication Date: 2025-08-19YIXING PEOPLES HOSPITAL +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510649547.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-20
Publication Date
2025-08-19

AI Technical Summary

Technical Problem

The existing contactless heart rate measurement technology faces problems such as signal capture and noise suppression, large cross-user measurement errors, insufficient accuracy in multi-user environments, and especially limited application in special groups and multi-person coexistence scenarios.

Method used

A non-contact heart rate measurement system based on structural vibration sensing is adopted, including a vibration sensing module, a signal processing module, a heart rate calculation module and a confidence evaluation module. The weak vibration signals are captured through a high-sensitivity seismic detector, combined with algorithms such as Butterworth filtering, wavelet transformation and Hilbert transformation to extract heartbeat characteristics, and the confidence evaluation module is used to improve measurement accuracy.

Benefits of technology

It realizes high-precision, contactless heart rate monitoring in a multi-user environment, and can conduct long-term monitoring without affecting the normal life of users, reducing contact limitations and noise interference of traditional methods, and improving measurement accuracy and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120501401A_ABST
    Figure CN120501401A_ABST
Patent Text Reader

Abstract

The invention discloses a non-contact heart rate measuring system based on structural vibration sensing, which comprises the following steps that: step 1, a vibration sensing module captures vertical velocity vibration which is transmitted through a floor and is caused by heartbeat to generate an analog electric signal, de-noising, amplifying and adjusting the analog electric signal, and converting the analog electric signal into a digital signal through an analog-to-digital converter; step 2, a signal processing module carries out filtering processing on the signal, enhances a pulse type heartbeat signal, suppresses oscillation noise of mechanical vibration, extracts a signal envelope, and separates out heartbeat features; 3, a heart rate calculation module performs peak detection and periodic mode matching on the processed digital signals, heartbeat and instantaneous noise are distinguished through semi-periodic characteristics, and a heart rate value is output according to a matching result; and 4, evaluating the reliability of the heart rate measurement result by a confidence evaluation module, calculating a confidence score, and deciding whether to output a heart rate estimation value of a corresponding window or not by utilizing a confidence threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of heart rate measurement, and in particular to a non-contact heart rate measurement system based on structural vibration sensing. Background Art

[0002] Heart rate, as one of the most basic vital signs of the human body, is a core indicator for assessing cardiovascular function, exercise load, emotional state, and disease risk. Traditional heart rate monitoring technology mainly relies on bioelectric signal acquisition (such as electrocardiogram (ECG)) or optical volume pulse wave (such as photoplethysmography (PPG)), and acquires data through devices such as electrode patches, smart bracelets, and chest straps. However, these contact measurement methods have significant limitations: first, close contact between the sensor and the skin may cause skin allergies, motion artifacts, and other problems, and long-term wear is uncomfortable; second, the device relies on active user cooperation and cannot achieve non-sensing monitoring in natural states such as sleep and daily activities; third, the use of contact devices is strictly restricted in special groups such as burn patients and newborns. Therefore, non-contact heart rate measurement technology has gradually become a research hotspot in the medical and health field.

[0003] In recent years, non-contact heart rate detection technologies based on computer vision (such as remote photoplethysmography (rPPG)) and millimeter-wave radar have received widespread attention. rPPG technology indirectly extracts heart rate by analyzing changes in light reflected from the skin in facial videos, but its performance is easily affected by factors such as ambient light intensity, camera resolution, and facial occlusion, and there is a risk of privacy leakage. Millimeter-wave radar technology infers heart rate by detecting micro-movement signals from the human chest, but the equipment is expensive and the signal processing is complex, making it difficult to popularize in consumer scenarios. In addition, all of the above technologies rely on direct monitoring within the line of sight and cannot penetrate obstacles (such as mattresses and carpets) or be applied to scenarios where multiple people coexist, limiting their application scenarios.

[0004] In this context, indirect heart rate detection technology based on vibration sensing demonstrates unique advantages. The periodic pulsation of the chest and blood vessels caused by the human heartbeat is transmitted to the body surface through bones and soft tissues, and further converted into tiny ground vibration signals. By capturing these vibrations with highly sensitive seismic geophones, heart rate monitoring can theoretically be achieved without the need for wearable devices and without line of sight obstructions. However, existing vibration sensing solutions still face the following technical bottlenecks:

[0005] The amplitude of the enhanced vibration caused by heartbeat is usually in the micrometer range (10 -6 m), while ambient noise (such as footsteps, electrical appliance vibrations, and traffic vibrations) can be tens of times stronger. Traditional vibration sensors (such as accelerometers) have limited dynamic range and sensitivity to simultaneously capture weak signals and suppress strong noise, resulting in the effective signal being drowned out.

[0006] Enhanced vibration signals are essentially multi-source mixed signals, with heartbeat vibrations highly overlapping with components such as breathing, limb movement, and environmental interference in the time and frequency domains. Existing algorithms (such as Fast Fourier Transform (FFT) and Independent Component Analysis (ICA)) have limited ability to separate non-stationary signals, making it difficult to accurately extract heartbeat features.

[0007] The heartbeat vibration spectra produced by people of different weights and physiques vary significantly (for example, obese people have more prominent low-frequency components). Existing methods typically rely on fixed-band filtering or single template matching, resulting in increased cross-user measurement errors (typically exceeding ±10 BPM).

[0008] In the existing technology, a heart rate measurement method based on floor vibration sensing has been proposed, but its accuracy is insufficient in a multi-user environment and it does not integrate real-time AI optimization. Summary of the Invention

[0009] Purpose of the invention: The technical problem to be solved by the present invention is to provide a non-contact heart rate measurement system based on structural vibration sensing in response to the shortcomings of the existing technology.

[0010] In order to solve the above technical problems, the present invention discloses a non-contact heart rate measurement system based on structural vibration sensing, comprising: a vibration sensing module, a signal processing module, a heart rate calculation module, and a confidence assessment module;

[0011] The specific steps for non-contact heart rate measurement are as follows:

[0012] Step 1: The vibration sensing module uses a geophone to capture the extremely weak vertical velocity vibration caused by the heartbeat, which propagates through the floor, to generate an analog electrical signal. The analog electrical signal is then de-noised, amplified, and adjusted to minimize electrical noise interference and maximize the available signal range. The analog electrical signal is then converted into a digital signal through an analog-to-digital converter (hardware preprocessing). The number of bits and sampling frequency of the analog-to-digital converter are selected to obtain the digital signal.

[0013] Step 2: The signal processing module processes the digitized signal from the vibration sensing module, filters the signal, enhances the pulsed heartbeat signal, suppresses the oscillation noise of mechanical vibrations (such as fans), extracts the signal envelope, and separates the heartbeat characteristics. This means that software filtering emphasizes pulsed, heartbeat-like vibrations while suppressing steady-state noise and high-frequency electrical noise that cannot be completely removed by the hardware.

[0014] Step 3: The heart rate calculation module performs peak detection and periodic pattern matching on the processed digitized signal, distinguishes heartbeats from transient noise (such as mobile phone clicks) through semi-periodic features, and outputs the heart rate value based on the matching results;

[0015] In step 4, the confidence assessment module evaluates the reliability of the heart rate measurement results from step 3. It calculates a confidence score by combining time domain, frequency domain, and detection features. It then uses the confidence threshold to decide whether to output the heart rate estimate for the corresponding window. The confidence score is used to reject low-confidence windows and is robust against long-term noise, ensuring the accuracy of the output heart rate value.

[0016] The vibration sensing module includes three sets of seismic detectors, a built-in gain control circuit, and a dynamic range covering ±2g acceleration;

[0017] The three arrays of geophones are placed on the floor near the subject's chair, on the floor on the other side of the chair, and one to two meters from the subject. These three locations serve as the system's baseline, typical, and target distances for heartbeat detection, respectively. The array can adjust its position based on real-time environmental feedback, such as floor material and user movement.

[0018] In the circuit design of the vibration sensing module, the digital circuit (such as power supply and communication components) and the analog signal processing circuit are physically separated, and "noise separation" is achieved using isolation strips and digital isolators;

[0019] The vibration sensing module selects components with an operating frequency higher than the vibration signal frequency to form frequency separation, ensuring that onboard electrical noise can be easily filtered in the subsequent stage. When designing a PCB (Printed Circuit Board), a periodic array of vias is used around key analog signal traces to achieve "stitched vias" by grounding on the PCB stack, and "blind vias" are achieved by connecting inner layer traces to surface traces, or "buried vias" are achieved by setting up connections to inner layer traces. This more accurately shields key signal paths and creates a shielding layer similar to a coaxial cable to protect against external electromagnetic interference.

[0020] The front end of the seismic detector is equipped with an operational amplifier and a digital potentiometer to dynamically adjust the signal gain, which effectively expands the dynamic range so that the sensor can detect both very weak heartbeat signals and larger signals.

[0021] The signal filtering process described in step 2, and the enhancement of the pulse heartbeat signal, and the suppression of the oscillation noise of the mechanical vibration are specifically as follows:

[0022] Step 2-1: Low-pass filter the original input signal to preliminarily remove high-frequency noise. Use Butterworth filter for low-pass filtering. The specific calculation method is as follows:

[0023]

[0024] Where x[n] represents the input signal, y[n] represents the output filtered signal, N represents the filter order, and b k , a k represents the filter coefficients, which are determined by the cutoff frequency and sampling rate respectively;

[0025] Step 2-2, perform wavelet transform on the filtered signal, that is, use the db4 function in the Dobesi wavelet function as the wavelet basis for wavelet decomposition, because it is similar to the pulse shape of the heartbeat signal and can better extract the heartbeat characteristics. The specific calculation method is as follows:

[0026] Assuming that the signal is a discrete sequence x[n], the wavelet basis function determines the coefficients of the analysis filter h[n], g[n] and the reconstruction filter used in the wavelet transform. The coefficient of

[0027] During the decomposition process of the wavelet transform, the signal is convolved with the analysis filter to obtain the approximation coefficient cA and detail coefficient cD. These coefficients reflect the frequency components of the signal at different scales and positions. The specific formula is as follows:

[0028]

[0029] Where, h[n] represents the low-pass filter in the analysis filter; n and k represent the sampling point index;

[0030]

[0031] Where g[n] represents the high-pass filter in the analysis filter;

[0032] The above calculations define the process of performing a first-level decomposition of the signal. For multi-level decomposition, the above formula is recursively applied. That is, the first-level decomposition signal is cA1 and cD1, and then cA1 is further decomposed to obtain cA2 and cD2. And so on. The multi-level decomposition ultimately results in detail coefficients cD[k] of different scales and approximate coefficients cA[k] of the lowest scale. These detail coefficients contain information about the signal in different frequency bands. Noise and mechanical vibration are usually distributed in specific detail coefficients.

[0033] In step 2-3, the detail coefficient cD[k] obtained by wavelet decomposition is subjected to a soft threshold to suppress the noise coefficient. This can effectively suppress the broadband oscillation noise caused by mechanical vibration while retaining the larger coefficient corresponding to the main pulse-type heartbeat signal characteristics. The specific calculation method is as follows:

[0034]

[0035] Where y_cD[k] represents the detail coefficient after thresholding; θ is the set threshold, calculated based on the standard deviation of the signal; the sign() function returns the sign of the coefficient;

[0036] Step 2-4, perform wavelet reconstruction on the decomposed signal, use the retained low-frequency approximation coefficient cA[k] and the threshold-processed detail coefficient y_cD[k], and use the inverse wavelet transform to reconstruct the filtered and enhanced signal

[0037]

[0038] in, and Represents the inverse filter, which is related to the wavelet transform analysis filters h[n] and g[n].

[0039] The specific method for extracting the signal envelope described in step 2 is as follows: using the filtered and enhanced signal output from steps 2-4 as input, applying the Hilbert transform method, and then extracting the signal smooth envelope through low-pass filtering to merge the multi-peak oscillations of the heartbeat signal into a single peak and isolate the heartbeat features;

[0040] The specific calculation method is as follows:

[0041] For a discrete signal Hilbert transform Generate an imaginary part of an analytical signal;

[0042]

[0043] in, represents Hilbert transform, n and k represent sampling point indices;

[0044] The envelope calculation method is as follows:

[0045]

[0046] Where E[n] represents the envelope of the signal;

[0047] Next, a first-order low-pass filter is applied to the signal envelope E(t):

[0048] E smooth [n] = α·E[n] + (1-α)·E smooth [n-1]

[0049] Among them, E smooth [n] represents the signal envelope after smoothing, and α represents the smoothing factor.

[0050] The heart rate calculation module in step 3 performs peak detection and periodic pattern matching, distinguishes heartbeats from transient noise through semi-periodic features, and outputs the heart rate value based on the matching result, specifically:

[0051] Step 3-1: Perform peak detection on the processed signal to obtain the heartbeat peak time series x R That is, the potential heartbeat location;

[0052] Step 3-2: Match the periodic heartbeat pattern through the heartbeat periodicity matching algorithm, use the semi-periodic characteristics of the heartbeat to distinguish the heartbeat from transient noise, use the differential evolution algorithm to search for the optimal heart rate within the set tolerance time error, calculate the average interval based on the received heartbeats or directly use r, and output the heart rate estimate.

[0053] The peak detection method described in step 3-1 is specifically as follows:

[0054] The signal after filtering and envelope detection is s(t). The mean and standard deviation of the signal s(t) are calculated in the sliding window and used for the adaptive threshold algorithm. The time point t value is switched and the signal is scanned point by point. When the signal amplitude exceeds the threshold, it is marked as a potential peak. Non-maximum suppression is performed and the minimum interval constraint is used to avoid false detection. The peak time point is recorded to obtain the heartbeat peak time series x. R That is, the potential heartbeat position, which is used for subsequent heart rate calculation;

[0055] In step 3-1-1, the mean and standard deviation of the signal s(t) are calculated within the sliding window for use in the adaptive threshold algorithm. The threshold calculation formula corresponding to the adaptive threshold generation method is defined as:

[0056]

[0057] Where s(t) represents the signal after filtering and envelope detection; T(t) represents the adaptive threshold calculated at time point t; μ(t) represents the local mean of the signal s in the sliding window W ending at t; σ(t) represents the local standard deviation of the signal s in the sliding window W ending at t; s smooth (i) represents the result of applying smoothing filtering to the original signal s(t); W represents the sliding window size; M represents the smoothing window size; β represents the threshold coefficient.

[0058] The window length W in step 3-1 is based on the sampling frequency f s The value of β needs to be calibrated through experiments. If the noise is strong (such as large environmental vibration interference), increase β to reduce false detection. If the signal quality is high, reduce β to improve sensitivity. ROC curve analysis can be used to adjust β on the validation set to make the sensitivity > 90% and the false detection rate < 10%.

[0059] In step 3-1-2, the signal s(t) is scanned point by point. When the signal amplitude exceeds the threshold T(t) calculated in step 3-1-1, it is marked as a potential peak. At the same time, non-maximum suppression is performed on the potential peak, which is specifically expressed as follows:

[0060] s(t)>T(t) and s(t)>s(t-1), s(t)>s(t+1)

[0061] Next, we use the minimum interval constraint to avoid false detection. Taking the constraint condition, we introduce a minimum peak interval Δt to avoid detecting consecutive peaks caused by noise. min ;

[0062] In summary, the specific mathematical expression of peak detection is:

[0063]

[0064] Where P(t) represents the peak detection function, and the output is Boolean type; s(t) represents the input signal; t prev Indicates the last detected peak time point, with an initial value of 0; Δt min Indicates the minimum peak interval;

[0065] Among them, the minimum peak interval Δt min , based on the expected heart rate range, the specific calculation formula is as follows:

[0066]

[0067] Among them, HR max Indicates the set maximum heart rate of the system, f s Indicates the sampling rate.

[0068] Step 3-1-3, record the time point of the peak detection and generate the heartbeat peak time series x R That is, the potential heartbeat position, which is used for subsequent heart rate calculation.

[0069] The heartbeat periodicity matching algorithm described in step 3-2 treats the heart rate within the sliding window as a constant value and finds an ideal periodic heartbeat pattern that best matches the detected heartbeat peak, thereby reducing the interference of missed heartbeats and false positives (i.e., when the amplitude of the noise floor is similar to the heartbeat). Specifically:

[0070] Step 3-2-1, the heartbeat peak time series x obtained by the peak detection algorithm in step 3-1 R ,At the same time, the size of the sliding window W is reselected, and ,the peak subsequence is extracted in each window starting from the ,first time of the peak detection;

[0071] At the same time, given a heart rate r, and generate a set of ideal heartbeat time series, the specific operation is: take the first time of the detected peak as the first heartbeat time t0, and Seconds as interval, generate subsequent heartbeat time and ideal periodic heartbeat pattern, ideal heartbeat time series t j The specific representation is as follows:

[0072] t j =t0+j*T

[0073] Where j is an integer index;

[0074] Step 3-2-2, set the objective function to minimize the mismatch between the heartbeat peak time series detected in step 3-2-1 and the ideal periodic heartbeat pattern:

[0075]

[0076] Where r represents the heart rate, which is the optimization variable; F1(X|r) represents the modified F1 score, based on the detected heartbeat peak time series x R and the ideal periodic heartbeat pattern under a given heart rate r; λ1 and λ2 are hyperparameters used to balance the F1 score and regularization term; n is the number of detected heartbeat peaks; x k Represents the detected heartbeat peak time series x R The kth detected heartbeat peak time; k An index representing the ideal heartbeat pattern; Indicates the ideal heartbeat interval;

[0077] and They represent the absolute distance regularization term and the squared distance regularization term, respectively, which are used to average time deviations, encourage the detection peak to be closer to the ideal heartbeat time, and reduce the impact of timing fluctuations caused by heart rate variability;

[0078] Among them, j k is the expected number of heartbeats rounded to the nearest integer, used to find the value corresponding to x k The most recent ideal heartbeat time, the specific formula is as follows:

[0079]

[0080] The F1 score is used to measure the quality of matching between the detected peak and the ideal periodic heartbeat pattern. The negative F1 score is because F1 is a maximization objective, while the optimization algorithm usually minimizes the function. The specific formula is as follows:

[0081]

[0082] Based on the above matching calculation, the modified F1 is calculated according to the formula:

[0083]

[0084] Where precision is the accuracy rate, recall is the recall rate, TP is a true positive, that is, the detected heartbeat peak falls within the tolerance range of the ideal heartbeat pattern; FP is a false positive, that is, the detected heartbeat peak does not fall within the tolerance range of any ideal heartbeat; FN is a false negative, that is, the heartbeat in the ideal heartbeat pattern is not matched by any detected peak.

[0085] Whether the detected peak value matches the ideal peak value depends on the timing tolerance δ. The specific matching rule is: It is considered a match; otherwise, the peak value x is detected k It may be a false positive, and an ideal heartbeat may be a false negative;

[0086] The timing tolerance δ is calculated based on the maximum heart rate, and the specific formula is as follows:

[0087]

[0088] Among them, HR max Indicates the set system maximum heart rate;

[0089] Step 3-2-3, use the differential evolution algorithm to minimize the objective function. The specific calculation method is as follows:

[0090] Generate a set of random heart rate r values and initialize them as candidate solutions for the heart rate r of the ideal periodic heartbeat pattern in step 3-2-2;

[0091] Then, iterative calculation is performed. For each r candidate solution, the objective function value is calculated; the r value is updated through differential evolution rules, including mutation, crossover and selection operations to explore the search space; iterate until convergence;

[0092] During the iteration process, the mutation rate is dynamically adjusted to accelerate convergence and avoid falling into the local optimum. The mutation rate gradually decreases with the increase of the number of iterations. The specific formula is as follows:

[0093]

[0094] Among them, μ represents the initial value of the mutation rate, Iteration is the number of iterations, which means the number of times the algorithm repeats the optimization steps, and Max{Iteration} represents the maximum number of iterations set;

[0095] During the iteration process, the crossover rate is dynamically adjusted according to the change of the objective function value. If the objective function value is improved slightly, the crossover rate is increased to increase the population diversity. The specific formula for dynamic adjustment of the crossover rate is as follows:

[0096]

[0097] Among them, η represents the initial value of the crossover rate, ΔF represents the change in the objective function value, and ΔF min Indicates the set minimum change threshold;

[0098] Finally, the optimal r value is obtained, and the matching result is applied to generate the ideal periodic heartbeat pattern using the optimized optimal r. For each detected heartbeat x k ,checks if it matches the ideal heartbeat within the tolerance and marks the matching heartbeat, calculates the average interval based on the accepted heartbeat or directly uses r, outputs the heart rate estimate.

[0099] The confidence calculation described in step 4 is achieved by using gradient boosted random forest regression:

[0100] In step 4-1, the same sliding window as the heartbeat periodicity matching algorithm in step 3-2 is used to extract the time-frequency domain feature vector F of the window signal, train the regression model, and optimize the confidence threshold based on the training data to reject windows with low confidence. Based on the screened heartbeat events, the heart rate value is accurately calculated and the heart rate result is output in real time.

[0101] In step 4-2, the dataset is divided into a training set and a test set based on the time-frequency domain feature vector F. The training set is used to train the gradient boosting random forest regression model. The model performance is then evaluated on the test set. The trained model is then applied to each sliding window to make predictions and output confidence scores.

[0102] In step 4-3, the trained model makes predictions for each window of new data, obtains a confidence score, and applies a confidence threshold to make an acceptance / rejection decision.

[0103] The heart rate output in step 3 simply calculates a heart rate value for each window. However, each window undergoes a confidence assessment before deciding whether to use the corresponding heart rate value as the final output. The confidence threshold can be adjusted based on the individual and location.

[0104] This particular regression model is used because it is insensitive to scale differences between the input features. Additionally, the random forest model is resistant to overfitting when the input feature set is too large, which is beneficial to the system since the optimal vibration signal features for predicting heartbeat detection accuracy are unknown.

[0105] In the present invention, preferably, only heart rate samples with high confidence are reported to reduce the impact of long-term noise (such as body movement).

[0106] The feature vector F specifically includes the following features:

[0107] F=[StdDev,PPIntervalStd,ZCR,PSDMean,SpectralEntropy,DominantFreq,SpectralSlope,SpectralBandwidth,PeakDensity,F1HistoryMean]

[0108] There are 10 features in total (there may be more, depending on the implementation). The specific explanations of the time domain, frequency domain and other features are as follows:

[0109] The standard deviation StdDev measures signal fluctuations. A high standard deviation may indicate noise. The formula is as follows:

[0110]

[0111] Among them, x i is the signal value of the i-th sample point in the window, is the signal mean, N is the number of sample points, which depends on the sampling rate;

[0112] The peak-to-peak interval standard deviation PPIntervalStd measures the stability of the heartbeat cycle and is expressed as follows:

[0113]

[0114] Among them, t j Indicates the peak time, represents the average interval, M is the number of peaks;

[0115] The zero crossing rate ZCR captures the zero point change of the signal and indicates the noise level. The formula is as follows:

[0116]

[0117] Among them, Ⅱ represents the indicator function, when x i ·x i+1 When <0, the output is 1, otherwise 0;

[0118] The power spectral density mean PSDMean measures the signal energy distribution and is expressed as follows:

[0119]

[0120] Among them, P k Indicates the power spectrum density value after FFT, and K indicates the number of frequency points.

[0121] Spectral Entropy, which measures spectrum uncertainty, is expressed as follows:

[0122]

[0123] Among them, p k =P k / ∑P represents normalized power;

[0124] DominantFreq, which indicates the frequency of the maximum peak in the spectrum, indicates the main periodicity (such as heart rate). The formula is as follows:

[0125]

[0126] Where P(f) is the power spectral density at frequency f;

[0127] Spectral Slope, linear regression fitting spectrum, quantifies the spectrum drop rate, the formula is as follows:

[0128]

[0129] Among them, f k Indicates frequency; and represents the mean;

[0130] Spectral Bandwidth measures the width of the spectrum. The formula is as follows:

[0131]

[0132] Based on the detection results, other features can also be selected, such as peak density PeakDensity, F1 score historical mean F1HistoryMean, etc. The formula is as follows:

[0133]

[0134] Where M is the number of peaks, f s is the sampling rate;

[0135]

[0136] Among them, W is the number of historical windows, F1 w is the F1 score of the first W windows. Adding time series dependency can improve the continuous window prediction after optimization.

[0137] In the present invention, preferably, the analog signal is subjected to denoising processing in step 1 to filter out high-frequency noise and low-frequency background vibration, and the passband range is set to 0.5 Hz-5 Hz.

[0138] Beneficial effects:

[0139] This invention discloses a non-contact heart rate measurement system based on indirect enhanced vibration sensing. By utilizing a highly sensitive seismic detector, advanced signal processing algorithms, and heart rate extraction technology, the system enables accurate, non-contact heart rate monitoring. This method not only avoids the contact limitations of traditional methods but also enables long-term monitoring without disrupting the user's daily life, thus possessing broad application prospects. Future work will further optimize the sensor design, signal processing algorithms, and heart rate extraction technology to improve the system's accuracy and reliability to meet the needs of diverse application scenarios. BRIEF DESCRIPTION OF THE DRAWINGS

[0140] Figure 1 Schematic diagram of the overall structure of the system in the present invention;

[0141] Figure 2 Schematic diagram of the steps of the non-contact heart rate measurement method of the present invention;

[0142] Figure 3 A schematic top view of the system of the present invention;

[0143] Figure 4 Schematic diagram of the system in the present invention.

[0144] Figure 5 This is a signal graph obtained after signal collection and processing by the system of the present invention. DETAILED DESCRIPTION

[0145] Developing a high-precision, highly resistant, and low-cost indirect enhanced vibration heart rate measurement method, while overcoming the sensitivity bottlenecks and scenario limitations of existing technologies, has become a critical challenge in the fields of non-contact health monitoring and smart homes. This invention significantly improves vibration signal extraction accuracy and system generalization capabilities through innovative sensor design, multimodal signal processing algorithms, and a dynamic template matching mechanism, providing a new technical approach for non-contact health monitoring.

[0146] This paper proposes a non-contact heart rate measurement system based on indirect enhanced vibration sensing. By detecting the tiny ground vibrations caused by the human heartbeat, this system enables ubiquitous heart rate monitoring. This system not only avoids the contact limitations of traditional methods but also enables long-term monitoring without disrupting the user's daily life, thus possessing broad application prospects.

[0147] This invention discloses a non-contact heart rate measurement method that integrates machine learning algorithms and multi-sensor fusion to achieve high-precision, real-time heart rate tracking in multi-user scenarios, with applications in smart home health management. This system improves the noise interference problem of existing technologies and enhances measurement accuracy.

[0148] Example:

[0149] A non-contact heart rate measurement system based on structural vibration sensing, comprising: a vibration sensing module, a signal processing module, a heart rate calculation module, and a confidence assessment module;

[0150] like Figure 2 As shown in the figure, the specific steps of non-contact heart rate measurement are as follows:

[0151] Step 1: The vibration sensing module uses a seismic detector to capture the extremely weak vertical velocity vibration caused by the heartbeat that propagates through the floor to generate an analog electrical signal. The analog electrical signal is de-noised, amplified, and adjusted to minimize electrical noise interference and maximize the available signal range. The analog electrical signal is converted into a digital signal through an analog-to-digital converter (hardware preprocessing). The number of bits and sampling frequency of the analog-to-digital converter are selected to obtain a digital signal. The digital signal is as follows: Figure 5 The raw data is shown;

[0152] Step 2: The signal processing module processes the digitized signal from the vibration sensing module, filters the signal, enhances the pulsed heartbeat signal, suppresses the oscillation noise of mechanical vibrations (such as fans), extracts the signal envelope, and separates the heartbeat characteristics. This means that software filtering emphasizes pulsed, heartbeat-like vibrations while suppressing steady-state noise and high-frequency electrical noise that cannot be completely removed by the hardware.

[0153] Step 3: The heart rate calculation module performs peak detection and periodic pattern matching on the processed digitized signal, distinguishes heartbeats from transient noise (such as mobile phone clicks) through semi-periodic features, and outputs the heart rate value based on the matching results;

[0154] In step 4, the confidence assessment module evaluates the reliability of the heart rate measurement results from step 3. It calculates a confidence score by combining time domain, frequency domain, and detection features. It then uses the confidence threshold to decide whether to output the heart rate estimate for the corresponding window. The confidence score is used to reject low-confidence windows and is robust against long-term noise, ensuring the accuracy of the output heart rate value.

[0155] The vibration sensing module includes three sets of seismic detectors, a built-in gain control circuit, and a dynamic range covering ±2g acceleration;

[0156] The three arrays of geophones are placed on the floor near the subject's chair, on the floor on the other side of the chair, and one to two meters from the subject. These three locations serve as the system's baseline, typical, and target distances for heartbeat detection, respectively. The array can adjust its position based on real-time environmental feedback, such as floor material and user movement.

[0157] In the circuit design of the vibration sensing module, the digital circuit (such as power supply and communication components) and the analog signal processing circuit are physically separated, and "noise separation" is achieved using isolation strips and digital isolators;

[0158] The vibration sensing module uses components with an operating frequency higher than the vibration signal frequency, creating frequency separation and ensuring easy filtering of onboard electrical noise in subsequent stages. Via stitching and blind or buried vias are used around key analog signal traces to more precisely shield critical signal paths, creating a coaxial cable-like shielding layer to protect against external electromagnetic interference.

[0159] In step 1, if Figure 3 As shown, sensor modules were placed on the floor at the base of a chair near the subject, on the floor on the other side of the chair, and at various locations on the floor 1 to 2 meters from the subject. This array can adjust its position based on real-time environmental feedback (e.g., floor material, user movement). Unlike fixed-position sensors, this adjustable array enhances signal capture capabilities in a variety of settings.

[0160] Every time the heart beats, a pressure pulse travels throughout the body, accompanied by vibrations generated by the movement of the heart valves and muscles. The pressure and vibrations then propagate through the body and act on any surface or structure that the person touches. Previous research has shown that these vibrations can be detected in adjacent structures (e.g., chairs, beds) to monitor a subject's vital signs.

[0161] In this example, the sensor module consists of a seismometer, a PCB circuit board, and a 3D printed mold. The seismometer is SM-24, with a sensitivity of ≥2mV / g and a dynamic range of approximately ±2g. At close range (such as under a chair), the heartbeat vibration intensity is approximately 10 -5 m / s, which is much higher than the sensitivity threshold of SM-24 (about 10 -7 m / s or less in low noise conditions); at long distances (e.g. 2 meters from the floor), the intensity may drop to 10 -7m / s or slightly lower, but through sensitive hardware and subsequent algorithms, the signal-to-noise ratio can be improved. The SM-24 can compensate for vibration attenuation caused by factors such as distance. In the field of vibration monitoring, similar research has shown that the SM-24 has been used to detect environmental micro-vibrations, including those caused by heartbeats or breathing. Its self-damping design and output impedance of approximately 375Ω make it suitable for low-noise applications. The PCB, measuring 80mm × 60mm, includes an operational amplifier, digital potentiometer, and ADC for signal processing. The operational amplifier uses the OPA827, with a 10MHz gain-bandwidth product and a supply voltage range of ±2.5V to ±18V. The digital potentiometer uses the MAX5487, with a 10kΩ resistance range, 256-step resolution, and an adjustable gain range of 10-1000. The ADC uses the AD7190, with 24-bit resolution, a 2kHz sampling rate, a dynamic range of ±2.5V, and differential input support to reduce noise. The 3D printing mold is 100mm×80mm×30mm, with two magnets on the mold. The iron plate is 0.5mm spring steel and the size is 50cm×80cm.

[0162] A multilayer PCB layout isolates the analog and digital components, employing isolation strips and digital isolators to reduce crosstalk. Digital and power circuits operate at frequencies >2kHz, away from vibration signal frequencies. Around critical analog signal traces, a periodic array of vias is used, grounded on the PCB stack to create "stitched vias." Blind vias are created by connecting inner-layer traces to surface-layer traces, or buried vias are created by connecting inner-layer traces. This allows for more precise shielding of critical signal paths. Ferrite beads are added, and a star-shaped grounding layout is employed to absorb high-frequency interference.

[0163] It should be understood that the size of the iron plate and the gain control can be adjusted accordingly according to different chair types.

[0164] The front end of the seismic detector is equipped with an operational amplifier and a digital potentiometer to dynamically adjust the signal gain, which effectively expands the dynamic range so that the sensor can detect both very weak heartbeat signals and larger signals.

[0165] The filtering process described in step 2 is specifically as follows:

[0166] Step 2-1: Low-pass filter the original input signal to preliminarily remove high-frequency noise. Use Butterworth filter for low-pass filtering. The specific calculation method is as follows:

[0167]

[0168] Where x[n] represents the input signal, y[n] represents the output filtered signal, N represents the filter order, and b k , ak represents the filter coefficients, which are determined by the cutoff frequency and sampling rate respectively;

[0169] In this example, the order N is set to 2, the cutoff frequency is set to 400Hz, and the sampling rate f s =The normalization coefficient when 2kHz, the differential equation corresponding to the low-pass filter is:

[0170] y[n]=0.0417x[n]+0.0833x[n-1]+0.0417x[n-2]+1.0824y[n-1]-0.4040y[n-2]

[0171] It should be understood that the order of the low-pass filter can be adjusted accordingly based on the noise level. A high order may introduce phase distortion; in practice, if the signal noise is high, the order can be increased to 4-6 and the coefficients recalculated.

[0172] Step 2-2, perform wavelet transform on the filtered signal, using the db4 function in the Dobesi wavelet function as the wavelet basis, and enhance the pulse heartbeat signal through multi-layer wavelet transform. In this example, 8 layers of decomposition are performed, and the frequency range of each layer is: [4.667, 9.333], [8.148, 16.296], [11.630, 23.185], [15.111, 30.222], [18.593, 37.185], [22.074, 44.148], [25.556, 51.111], [29.037, 58.074], [32.519, 65.037], [36.000, 72.000]. The specific calculation method is as follows:

[0173] Assuming that the signal is a discrete sequence x[n], the wavelet basis function determines the coefficients of the analysis filter h[n], g[n] and the reconstruction filter used in the wavelet transform. The coefficient of

[0174] During the decomposition process of the wavelet transform, the signal is convolved with the analysis filter to obtain the approximation coefficient cA and detail coefficient cD. These coefficients reflect the frequency components of the signal at different scales and positions. The specific formula is as follows:

[0175]

[0176] Where h[n] represents the low-pass filter coefficient, n and k represent the sampling point index;

[0177]

[0178] Where g[n] represents the high-pass filter coefficient;

[0179] The above calculation defines the process of first-level decomposition of the signal. For multi-level decomposition, the above formula is recursively applied, that is, the first-level decomposition signal is cA1 and cD1, and then cA1 is further decomposed to obtain cA2 and cD2. And so on. The multi-level decomposition finally obtains the detail coefficients cD[k] of different scales and the approximate coefficients cA[k] of the lowest scale. In this example, the coefficients of the low-pass filter are [0.230, 0.7148, 0.631, -0.028, -0.187, 0.031, 0.033, -0.011]; the coefficients of the high-pass filter are [-0.011, -0.033, 0.031, 0.187, -0.028, -0.631, 0.715, -0.230]. The results are as follows: Figure 5 As shown in the filtered data;

[0180] In step 2-3, the detail coefficient cD[k] obtained by wavelet decomposition is subjected to a soft threshold to suppress the noise coefficient. This can effectively suppress the broadband oscillation noise caused by mechanical vibration while retaining the larger coefficient corresponding to the main pulse-type heartbeat signal characteristics. The specific calculation method is as follows:

[0181]

[0182] Where y_cD[k] represents the detail coefficient after threshold processing; θ is the set threshold, which is calculated based on the standard deviation of the signal. The sign() function returns the sign of the coefficient;

[0183] In this example, N is obtained directly from the signal, and log N ensures that the threshold scales with the signal length. The signal length is based on f s = 2kHz and a 10 second window is approximately 20,000 samples. If the signal is short, a small N may result in θ being too small.

[0184] Step 2-4, perform wavelet reconstruction on the decomposed signal, retain the core part of the frequency band containing the heartbeat signal, that is, 7Hz-54Hz, and use inverse wavelet transform to reconstruct the filtered and enhanced signal

[0185]

[0186] in, and represents the inverse filter, which is related to the wavelet transform analysis filters h[a] and g[n], and the results are as follows Figure 5 As shown in the envelope signal.

[0187] The specific method for extracting the signal envelope described in step 2 is as follows: using the filtered and enhanced signal output from steps 2-4 as input, applying the Hilbert transform method, and then extracting the signal smooth envelope through low-pass filtering to merge the multi-peak oscillations of the heartbeat signal into a single peak and isolate the heartbeat features;

[0188] The specific calculation method is as follows:

[0189] For a discrete signal Hilbert transform Generate an imaginary part of an analytical signal;

[0190]

[0191] in, represents Hilbert transform, n and k represent sampling point indices;

[0192] The envelope calculation method is as follows:

[0193]

[0194] Where E[n] represents the envelope of the signal;

[0195] Next, a first-order low-pass filter is applied to the signal envelope E(t):

[0196] E smooth [n] = α·E[n] + (1-α)·E smooth [n-1]

[0197] Among them, E smooth [n] represents the signal envelope after smoothing, and α represents the smoothing factor. In this example, α is set to 0.3. The smoothing factor can be adjusted accordingly according to the actual situation. In the experiment, the multi-peak error is minimized and the results are shown as follows: Figure 5 As shown in the smoothed envelope;

[0198] Ultimately, the multi-peak oscillations of the heartbeat signal are merged into a single peak, the heartbeat features are separated, and the multiple ripples that often appear in a single heartbeat event in the wavelet filtered signal are merged back into a smoother single peak.

[0199] Step 3-1: Perform peak detection on the processed signal to obtain the heartbeat peak time series x R That is, the potential heartbeat location;

[0200] Step 3-2: Match the periodic heartbeat pattern through the heartbeat periodicity matching algorithm, use the semi-periodic characteristics of the heartbeat to distinguish the heartbeat from transient noise, use the differential evolution algorithm to search for the optimal heart rate within the set tolerance time error, calculate the average interval based on the received heartbeats or directly use r, and output the heart rate estimate.

[0201] The peak detection method described in step 3-1 is specifically as follows:

[0202] In step 3-1-1, the signal s(t) is windowed and the mean and standard deviation of the signal s(t) are calculated within the sliding window for use in the adaptive threshold algorithm. The threshold calculation formula corresponding to the adaptive threshold generation method is:

[0203]

[0204] Where s(t) represents the signal after filtering and envelope detection; T(t) represents the adaptive threshold calculated at time point t; μ(t) represents the local mean of the signal s in the sliding window W ending at t; σ(t) represents the local standard deviation of the signal s in the sliding window W ending at t; s smooth (i) represents the result of applying smoothing filtering to the original signal s(t); W represents the sliding window size; M represents the smoothing window size; β represents the threshold coefficient.

[0205] The window length W in step 3-1-1 is based on the sampling frequency f s The value of β needs to be calibrated through experiments. If the noise is strong (such as large environmental vibration interference), increase β to reduce false detection. If the signal quality is high, reduce β to improve sensitivity. ROC curve analysis can be used to adjust β on the validation set to make the sensitivity > 90% and the false detection rate < 10%.

[0206] In this example, for the heartbeat signal, the peak interval is about 0.5-1.5 seconds. window is the window time length, set to 1 second, covering about 1-2 heartbeat cycles, W = f s ×T window = 2000 samples; β is set to 3.5, corresponding to 3.5 times the standard deviation; T smooth is the smoothing time window, set to 0.01 seconds, M = f s ×T smooth =20 samples.

[0207] In step 3-1-2, the signal s(t) is scanned point by point. When the signal amplitude exceeds the threshold T(t) calculated in step 3-1-1, it is marked as a potential peak. At the same time, non-maximum suppression is performed on the potential peak, which is specifically expressed as follows:

[0208] s(t)>T(t) and s(t)>s(t-1), s(t)>s(t+1)

[0209] Next, we use the minimum interval constraint to avoid false detection. Taking the constraint condition, we introduce a minimum peak interval Δt to avoid detecting consecutive peaks caused by noise. min ;

[0210] In summary, the specific mathematical expression of peak detection is:

[0211]

[0212] Where P(t) represents the peak detection function, and the output is Boolean type; s(t) represents the input signal; t prev Indicates the last detected peak time point, with an initial value of 0; Δt min Indicates the minimum peak interval;

[0213] Among them, the minimum peak interval Δt min , based on the expected heart rate range, the specific calculation formula is as follows:

[0214]

[0215] Among them, HR max Indicates the set maximum heart rate of the system, f s Indicates the sampling rate. In this example, HR max Take 200 bpm, Δt min Set to 600 samples;

[0216] In step 3-1-3, record the time point of the peak detection to generate the heartbeat peak time series x R That is, the potential heartbeat position, which is used for subsequent heart rate calculation.

[0217] Since the IBI (interbeat interval) is never constant, the actual measured heartbeat is not perfectly periodic, but the heart rate changes slowly and has a semi-periodic nature, which allows the algorithm to introduce a time tolerance to adapt to this variation.

[0218] The semi-periodic nature of a heartbeat signal means it's nearly periodic over short time periods, but the length of the period slowly drifts. This property helps the algorithm capture heartbeat pulses without being disturbed by slight variations in the IBI.

[0219] The periodic heartbeat pattern matching algorithm described in step 3-2 treats the heart rate within the sliding window as a constant value and finds an ideal periodic heartbeat pattern that best matches the detected heartbeat peak, thereby reducing the interference of missed heartbeats and false positives (i.e., when the amplitude of the noise floor is similar to the heartbeat). Specifically:

[0220] Step 3-2-1, obtain the detected heartbeat peak time series x from the vibration signal R ,These peaks are obtained by the peak detection algorithm in step 3-1.,At the same time, it is necessary to reselect the size of the sliding window W, and,start from the first time of peak detection, extract the peak subsequence in each window.

[0221] In this example, using an 18-second sliding window W and 70% overlap, the step size L is approximately 5.4 seconds, and the calculation method is:

[0222] L = W × (1-overlap ratio) = 18 × 0.3 ≈ 5.4 seconds

[0223] At the same time, given a heart rate r, and generate a set of ideal heartbeat time series, the specific operation is: take the first time of the detected peak as the first heartbeat time t0, and Seconds as interval, generate subsequent heartbeat time and ideal cycle

[0224] Heartbeat pattern, ideal heartbeat time series t j The specific representation is as follows:

[0225] t j =t0+j*T

[0226] Where j is an integer index;

[0227] Step 3-2-2, set the objective function to minimize the mismatch between the heartbeat peak time series detected in step 3-1 and the ideal periodic heartbeat pattern. The objective function combines the modified F1 score (measurement of matching quality) and the regularization term (processing time deviation);

[0228]

[0229] Where r represents the heart rate, the optimization variable; R1(X|r) represents the modified F1 score, based on the detected heartbeat peak time series x R and the ideal periodic heartbeat pattern under a given heart rate r; λ1 and λ2 are hyperparameters used to balance the F1 score and regularization term; n is the number of detected heartbeat peaks; x k represents the kth detected heartbeat peak time; j k An index representing the ideal heartbeat pattern; Indicates the ideal heartbeat interval;

[0230] and They represent the absolute distance regularization term and the squared distance regularization term, respectively, which are used to average time deviations, encourage the detection peak to be closer to the ideal heartbeat time, and reduce the impact of timing fluctuations caused by heart rate variability;

[0231] Among them, j k is the expected number of heartbeats rounded to the nearest integer, used to find the value corresponding to x k The most recent ideal heartbeat time, the specific formula is as follows:

[0232]

[0233] The F1 score is used to measure the quality of the match between the detected peak and the ideal peak of the ideal periodic heartbeat pattern. The negative F1 score is because F1 is a maximization objective, while the optimization algorithm usually minimizes the function. The specific formula is as follows:

[0234]

[0235] Based on the above matching calculation, the modified F1 is calculated according to the formula:

[0236]

[0237] Where precision is the accuracy rate, recall is the recall rate, TP is a true positive, that is, the detected heartbeat peak falls within the tolerance range of the ideal heartbeat pattern; FP is a false positive, that is, the detected heartbeat peak does not fall within the tolerance range of any ideal heartbeat; FN is a false negative, that is, the heartbeat in the ideal heartbeat pattern is not matched by any detected peak.

[0238] Whether the detected peak value matches the ideal peak value depends on the timing tolerance δ. The specific matching rule is: It is considered a match; otherwise, the peak value x is detected k It may be a false positive, and an ideal heartbeat may be a false negative.

[0239] The timing tolerance δ is calculated based on the maximum heart rate, and the specific formula is as follows:

[0240]

[0241] Among them, HR max Indicates the set system maximum heart rate;

[0242] In this example, HR max Take 200 bpm, δ is set to 0.3 seconds. This tolerance determines 18 seconds as the sliding window size, and the heart rate within this window is considered constant; λ1 is set to 0.5 and λ2 is set to 0.2 (these are the optimized values obtained through experiments);

[0243] Step 3-2-3, use the differential evolution algorithm to minimize the objective function. The specific calculation method is as follows:

[0244] First, generate a set of random heart rate r values and initialize them as candidate solutions for the heart rate r of the ideal periodic heartbeat pattern in step 3-2-2;

[0245] Then, iterative calculations are performed. For each r candidate solution, the objective function value is calculated. The r value is updated through differential evolution rules, including mutation rate, crossover rate, and selection operations to explore the search space. Iterations are performed until convergence.

[0246] During the iteration process, the mutation rate is dynamically adjusted to accelerate convergence and avoid falling into the local optimum. The mutation rate gradually decreases with the increase of the number of iterations. The specific formula is as follows:

[0247]

[0248] Among them, μ represents the initial value of the mutation rate, Iteration is the number of iterations, which means the number of times the algorithm repeats the optimization steps, and Max{Iteration} represents the maximum number of iterations set;

[0249] During the iteration process, the crossover rate is dynamically adjusted according to the change of the objective function value. If the objective function value is improved slightly, the crossover rate is increased to increase the population diversity. The specific formula for dynamic adjustment of the crossover rate is as follows:

[0250]

[0251] Among them, η represents the initial value of the crossover rate, ΔF represents the change in the objective function value, and ΔF min Indicates the set minimum change threshold;

[0252] In this example, μ is taken as 0.8 and η is taken as 0.9.

[0253] Finally, the optimal r value is obtained; apply the matching results and use the optimized optimal r to generate a periodic pattern. For each detected heartbeat x k , check if it matches the ideal heartbeat within tolerance It then marks the matching heartbeats, calculates the average interval based on the received heartbeats or uses r directly, and outputs a heart rate estimate.

[0254] The confidence calculation described in step 4 is achieved by using gradient boosted random forest regression:

[0255] The overall process is roughly as follows: windowing → feature extraction → model prediction → threshold decision. The entire module is integrated with the heartbeat cycle pattern matching module to ensure consistent window processing.

[0256] In step 4-1, in order to train the machine learning confidence model, a proxy metric is required as the training target.

[0257] After calculating the time domain and frequency domain features of each sliding window signal of the input signal x(t), a time-frequency domain feature vector F is generated for real heartbeat detection:

[0258] The time-frequency domain feature vector F specifically includes the following features:

[0259] F=[StdDev,PPIntervalStd,ZCR,PSDMean,SpectralEntropy,DominantFreq,SpectralSlope,SpectralBandwidth,PeakDensity,F1HistoryMean]

[0260] There are 10 features in total (there may be more, depending on the implementation). The specific explanations of the time domain, frequency domain and other features are as follows:

[0261] The standard deviation StdDev measures signal fluctuations. A high standard deviation may indicate noise. The formula is as follows:

[0262]

[0263] Among them, x i is the signal value of the i-th sample point in the window, is the signal mean, N is the number of sample points, which depends on the sampling rate. If the sampling rate is 2kHz, take N=36k.

[0264] The peak-to-peak interval standard deviation PPIntervalStd measures the stability of the heartbeat cycle and is expressed as follows:

[0265]

[0266] Among them, t j Indicates the peak time, represents the average interval, P is the number of peaks, and the specific value is obtained based on step 3.

[0267] The zero crossing rate ZCR captures the zero point change of the signal and indicates the noise level. The formula is as follows:

[0268]

[0269] in, Represents the indicator function (when x i ·xi +1 <0, the output is 1, otherwise 0).

[0270] The power spectral density mean PSDMean measures the signal energy distribution and is expressed as follows:

[0271]

[0272] Among them, P k Indicates the power spectrum density value after FFT, and K indicates the number of frequency points.

[0273] Spectral Entropy, which measures spectrum uncertainty, is expressed as follows:

[0274]

[0275] Among them, p k represents the normalized power.

[0276] DominantFreq, which indicates the frequency of the maximum peak in the spectrum, indicates the main periodicity (such as heart rate). The formula is as follows:

[0277]

[0278] where P(f) is the power spectral density at frequency f.

[0279] Spectral Slope, linear regression fitting spectrum, quantifies the spectrum drop rate, the formula is as follows:

[0280]

[0281] Among them, f k Indicates frequency; and Respectively represent P k and f k The mean of .

[0282] Spectral Bandwidth measures the width of the spectrum. The formula is as follows:

[0283]

[0284] Based on the detection results, other features can also be selected, such as peak density PeakDensity, F1 score historical mean F1HistoryMean, etc. The formula is as follows:

[0285]

[0286] Where P is the number of peaks, f s is the sampling rate.

[0287]

[0288] Among them, Ω is the number of historical windows, F1 ωis the F1 score of the first Ω windows. Adding time series dependency can improve the continuous window prediction after optimization;

[0289] In step 4-2, the dataset is divided into a training set and a test set based on the time-frequency domain feature vector F. The training set is used to train the gradient boosting random forest regression model. The model performance is then evaluated on the test set. The trained model is then applied to each sliding window to make predictions and output confidence scores.

[0290] In step 4-2, the gradient boosting random forest regression model is used, and the goal is to predict the F1 score.

[0291] In step 4-2-1, use 20% of the dataset for training and the remaining 80% as the test set. Use the test set data and cross-validation to optimize the model. The specific steps are:

[0292] In the data preparation stage, a dataset including vibration signals, peak detection results and ground truth heartbeat time is used. 60% of the data is selected as the training set and the remaining 40% is used as the test set through random sampling.

[0293] Next, for each window, input the feature vector, and the label is the F1 score. However, the feature scale in the feature vector F is not sensitive, so each feature dimension is normalized before training to avoid the scale difference affecting the weight. j After calculating its mean and standard deviation, the specific calculation method is as follows:

[0294]

[0295] Among them, μ j is feature F j The mean of j is feature F j The standard deviation of .

[0296] In model training, we use scikit-learn's Gradient Boosting Regressor, which minimizes the loss function by gradually adding decision trees. The loss function, mean squared error, is used for regression tasks and is formulated as follows:

[0297]

[0298] Among them, y i is the true F1 score, is the predicted F1 score, N is the number of samples;

[0299] For hyperparameter optimization, use grid search or random search to optimize n estimators (number of trees, e.g., 100-500), learningrate (e.g., 0.01-0.1) and max depth (e.g., 3-10); to combat overfitting, apply 5-fold cross-validation, early stopping (stopping training when the validation set MSE stops decreasing), and L2 regularization. Then, iteratively train the model until convergence. During training, simulated long-term noisy data (e.g., adding random low-frequency noise) can be used to enhance model generalization.

[0300] In step 4-2-2, the trained and evaluated model is applied to each sliding window of the newly acquired signal to predict the F1 score. The F1 score predicted by the model is directly used as the confidence score (Confidence Score). A high F1 indicates high accuracy, and the formula is as follows:

[0301]

[0302] In step 4-3, a confidence threshold is applied to make an acceptance / rejection decision. The confidence threshold can be adjusted based on the individual and location.

[0303] In step 4-3, a confidence score is calculated for each window and a confidence threshold is applied to make an accept / reject decision. The threshold is optimized based on the training data and can be adjusted based on the individual and location to adapt to different noise environments. The specific calculation method includes:

[0304] If the confidence score is below the threshold, the window is rejected. Rejection decision:

[0305]

[0306] Here, θ is the confidence threshold.

[0307] Select θ based on the training data and optimize the threshold to maximize system performance. Choose to use either the ROC curve or the precision-recall curve to optimize θ from the training data. Calculate the true / false positive rate for different θ values and select the θ with the highest F1 score.

[0308]

[0309] Among them, F1 system is the system-level F1 score based on the heart rate estimate compared to the ground truth over the acceptance window.

[0310] It should be understood that the threshold can be adjusted for each individual and location. θ can be re-optimized through calibration experiments. It is recommended to use linear interpolation or a simple model to adjust θ based on the location parameters.

[0311] In this example, the vibration data within each sliding window is evaluated according to the above formula. Gradient boosted random forest regression is applied to each 18-second sliding window. The machine learning model parameters are set to 100 trees, a learning rate of 0.1, and a maximum depth of 5. The model outputs a confidence score with a threshold of θ = 0.7.

[0312] This method ensures non-contact measurement while achieving accuracy comparable to that of traditional contact devices (error <3BPM) through rigorous mathematical modeling and parameter optimization. It is suitable for a variety of scenarios such as smart homes and medical monitoring.

[0313] The present invention provides a non-contact heart rate measurement system based on structural vibration sensing. There are numerous methods and approaches for implementing this technical solution. The above description is merely a preferred embodiment of the present invention. It should be noted that those skilled in the art may make various improvements and modifications without departing from the principles of the present invention, and such improvements and modifications are also within the scope of protection of the present invention. Any components not specified in this embodiment may be implemented using existing technologies.

Claims

1. A non-contact heart rate measurement system based on structural vibration sensing, characterized in that: include: Vibration sensing module, signal processing module, heart rate calculation module, confidence assessment module; The specific steps for non-contact heart rate measurement are as follows: Step 1: The vibration sensing module captures the extremely weak vertical velocity vibration caused by the heartbeat and propagates through the floor to generate an analog electrical signal, performs denoising, amplification, and adjustment on the analog electrical signal, and converts it into a digital signal; Step 2: The signal processing module processes the digitized signal from the vibration sensing module, filters the signal, enhances the pulse-type heartbeat signal, suppresses the oscillation noise of mechanical vibration, extracts the signal envelope, and separates the heartbeat characteristics; Step 3: The heart rate calculation module performs peak detection and periodic pattern matching on the processed digitized signal, distinguishes heartbeats from transient noise through semi-periodic features, and outputs the heart rate value based on the matching result; In step 4, the confidence assessment module evaluates the reliability of the heart rate measurement results in step 3, calculates the confidence score by combining the time domain, frequency domain and detection features, and uses the confidence threshold to decide whether to output the heart rate estimate value of the corresponding window.

2. The non-contact heart rate measurement system based on structural vibration sensing according to claim 1, characterized in that: The vibration sensing module includes a seismic detector and a built-in gain control circuit; The geophones include a geophone placed on the ground at the bottom of a chair near the subject, a geophone placed on the ground on the other side of the chair, and a geophone placed on the ground at a certain distance from the subject, which serve as the baseline, typical, and target distances for the system to detect heartbeats, respectively.

3. The non-contact heart rate measurement system based on structural vibration sensing according to claim 2, characterized in that: In the circuit design of the vibration sensing module, the digital circuit and the analog signal processing circuit are physically separated, and the isolation belt and digital isolator are used to achieve noise isolation; The vibration sensing module selects components with an operating frequency higher than the vibration signal frequency to form frequency separation, shielding the key signal path around the key analog signal routing, creating a shielding layer similar to a coaxial cable to protect against external electromagnetic interference; The front end of the seismic detector is equipped with an operational amplifier and a digital potentiometer for dynamic adjustment of signal gain.

4. The non-contact heart rate measurement system based on structural vibration sensing according to claim 1, characterized in that: The signal filtering process described in step 2 is to enhance the pulse heartbeat signal and suppress the oscillation noise of mechanical vibration, specifically: Step 2-1: Use a low-pass filter to perform low-pass filtering on the original input signal to preliminarily remove high-frequency noise. The specific calculation method is as follows: Where x[n] represents the input signal, y[n] represents the output filtered signal, N represents the filter order, and b k , a k represents the filter coefficients, which are determined by the cutoff frequency and sampling rate respectively; Step 2-2, perform wavelet transform on the filtered signal, that is, use the db4 function in the Dobesi wavelet function as the wavelet basis for wavelet decomposition. The specific calculation method is as follows: Assuming that the signal is a discrete sequence x[n], the wavelet basis function determines the coefficients of the analysis filter h[n], g[n] and the reconstruction filter used in the wavelet transform. The coefficient of During the decomposition process of wavelet transform, the signal is convolved with the analysis filter to obtain the approximate coefficient cA and detail coefficient cD. The specific formula is as follows: Where, h[n] represents the low-pass filter in the analysis filter; n and k represent the sampling point index; Where g[n] represents the high-pass filter in the analysis filter; The above calculation defines the process of first-level decomposition of the signal. For multi-level decomposition, the above formula is recursively applied, that is, the first-level decomposition signal is cA1 and cD1, and then cA1 is further decomposed to obtain cA2 and cD2, and so on. Multi-level decomposition finally obtains detail coefficients cD[k] of different scales and approximation coefficients cA[k] of the lowest scale; In step 2-3, the detail coefficient cD[k] obtained by wavelet decomposition is subjected to a soft threshold to suppress the noise coefficient, thereby suppressing the broadband oscillation noise caused by mechanical vibration, while retaining the larger coefficient corresponding to the main pulse-type heartbeat signal characteristics. The specific calculation method is as follows: Where y_cD[k] represents the detail coefficient after thresholding; θ is the set threshold, calculated based on the standard deviation of the signal; the sign() function returns the sign of the coefficient; Step 2-4, perform wavelet reconstruction on the decomposed signal, use the retained low-frequency approximation coefficient cA[k] and the threshold-processed detail coefficient y_cD[k], and use the inverse wavelet transform to reconstruct the filtered and enhanced signal in, and represents the inverse filter.

5. The non-contact heart rate measurement system based on structural vibration sensing according to claim 1, characterized in that: The specific method for extracting the signal envelope described in step 2 is: using the filtered and enhanced signal output from steps 2-4 as input, applying the Hilbert transform method, and then extracting the signal smooth envelope through low-pass filtering to merge the multi-peak oscillations of the heartbeat signal into a single peak and isolate the heartbeat features. The specific calculation method is as follows: For a discrete signal Hilbert transform Generate an imaginary part of an analytical signal; in, represents Hilbert transform, n and k represent sampling point indices; The envelope calculation method is as follows: Where E[n] represents the envelope of the signal; Next, a first-order low-pass filter is applied to the signal envelope E(t): E smooth [n]=α·E[n]+(1-α)·E smooth [n-1] Among them, E smooth [n] represents the signal envelope after smoothing, and α represents the smoothing factor.

6. The non-contact heart rate measurement system based on structural vibration sensing according to claim 1, characterized in that: The heart rate calculation module in step 3 performs peak detection and periodic pattern matching, distinguishes heartbeats from transient noise through semi-periodic features, and outputs the heart rate value based on the matching result, specifically: Step 3-1: Perform peak detection on the processed signal to obtain the heartbeat peak time series x R That is, the potential heartbeat location; Step 3-2: Use the heartbeat periodicity matching algorithm to match the ideal periodic heartbeat pattern with the heartbeat peak time series detected in step 3-1. Use the semi-periodic characteristics to distinguish heartbeats from transient noise. Use the differential evolution algorithm to search for the optimal heart rate within the set tolerance time error. Calculate the average interval based on the accepted heartbeats or directly use r to output the heart rate estimate.

7. The non-contact heart rate measurement system based on structural vibration sensing according to claim 6, characterized in that: The peak detection method described in step 3-1 is specifically as follows: Step 3-1-1, calculate the mean and standard deviation of the signal s(t) in the sliding window for the adaptive threshold algorithm. The threshold calculation formula corresponding to the adaptive threshold generation method is defined as: Where s(t) represents the signal after filtering and envelope detection; T(t) represents the adaptive threshold calculated at time point t; μ(t) represents the local mean of the signal s in the sliding window W ending at t; σ(t) represents the local standard deviation of the signal s in the sliding window W ending at t; s smooth (i) represents the result of applying smoothing filtering to the original signal s(t); W represents the sliding window size; M represents the smoothing window size; β represents the threshold coefficient; In step 3-1-2, the signal s(t) is scanned point by point. When the signal amplitude exceeds the threshold T(t) calculated in step 3-1-1, it is marked as a potential peak. At the same time, non-maximum suppression is performed on the potential peak. The specific expression is as follows: s(t)>T(t) and s(t)>s(t-1), s(t)>s(t+1) Next, we use the minimum interval constraint to avoid false detection and introduce a minimum peak interval Δt to avoid detecting consecutive peaks caused by noise. min ; In summary, the specific mathematical expression of peak detection is: Where P(t) represents the peak detection function, and the output is Boolean type; s(t) represents the input signal; t prev Indicates the last detected peak time point, with an initial value of 0; Δt min Indicates the minimum peak interval; Among them, the minimum peak interval Δt min , based on the expected heart rate range, the specific calculation formula is as follows: Among them, HR max Indicates the set maximum heart rate of the system, f s Indicates the sampling rate; Step 3-1-3, record the time point of the peak detection and generate the heartbeat peak time series x R That is, the potential heartbeat location.

8. The non-contact heart rate measurement system based on structural vibration sensing according to claim 6, characterized in that: The heartbeat periodicity matching algorithm described in step 3-2 treats the heart rate within the sliding window as a constant value and finds an ideal periodic heartbeat pattern that best matches the detected heartbeat peak, thereby reducing the interference of missed heartbeats and false positives. Specifically: Step 3-2-1, obtain the detected heartbeat peak time series x from the vibration signal R ,These peaks are obtained by the peak detection algorithm in step 3-1.,At the same time, it is necessary to reselect the size of the sliding window W, and extract the peak subsequence in each window based on the first time of peak detection; At the same time, given a heart rate r, and generate a set of ideal heartbeat time series, the specific operation is: take the first time of the detected peak as the first heartbeat time t0, and Seconds as interval, generate subsequent heartbeat time and ideal periodic heartbeat pattern, ideal heartbeat time series t j The specific representation is as follows: t j =t0+j*T Where j is an integer index; Step 3-2-2, set the objective function to minimize the mismatch between the heartbeat peak time series detected in step 3-1 and the ideal periodic heartbeat pattern: Where r represents the heart rate, which is the optimization variable; F1(X|r) represents the modified F1 score, based on the detected heartbeat peak time series x R and the ideal periodic heartbeat pattern under a given heart rate t; λ1 and λ2 represent hyperparameters; n represents the number of detected heartbeat peaks; x k Represents the detected heartbeat peak time series x R The kth detected heartbeat peak time; k An index representing the ideal heartbeat pattern; Indicates the ideal heartbeat interval; and Represent the absolute distance regularization term and the square distance regularization term respectively; Among them, j k It is the result of rounding the expected number of heartbeats to the nearest integer. The specific formula is as follows: The F1 score measures the quality of the match between the detected peak and the ideal periodic heartbeat pattern. The specific formula is as follows: Based on the above matching calculation, the modified F1 score is calculated according to the formula: Where precision is the accuracy rate, recall is the recall rate, TP is a true positive, that is, the detected heartbeat peak falls within the tolerance range of the ideal heartbeat pattern; FP is a false positive, that is, the detected heartbeat peak does not fall within the tolerance range of any ideal heartbeat; FN is a false negative, that is, the heartbeat in the ideal heartbeat pattern is not matched by any detected peak. Whether the detected peak value matches the ideal peak value depends on the timing tolerance δ. The specific matching rule is: It is considered a match; otherwise, the peak value x is detected k It may be a false positive, and an ideal heartbeat may be a false negative; The timing tolerance δ is calculated based on the maximum heart rate, and the specific formula is as follows: Among them, HR max Indicates the set system maximum heart rate; Step 3-2-3, use the differential evolution algorithm to minimize the objective function. The specific calculation method is as follows: First, generate a set of random heart rate r values and initialize them as candidate solutions for the heart rate r of the ideal periodic heartbeat pattern in step 3-2-2; Then, iterative calculation is performed. For each r candidate solution, the objective function value is calculated; the r value is updated through differential evolution rules, including mutation, crossover and selection operations to explore the search space; iterate until convergence; During the iteration process, the mutation rate is dynamically adjusted to accelerate convergence and avoid falling into the local optimum. The mutation rate decreases gradually with the increase of the number of iterations. The specific formula is as follows: Among them, μ represents the initial value of the mutation rate, Iteration is the number of iterations, which means the number of times the algorithm repeats the optimization steps, and Max{Iteration} represents the maximum number of iterations set; During the iteration process, the crossover rate is dynamically adjusted according to the change of the objective function value. If the objective function value is improved slightly, the crossover rate is increased to increase the population diversity. The specific formula for dynamic adjustment of the crossover rate is as follows: Among them, η represents the initial value of the crossover rate, ΔF represents the change in the objective function value, and ΔF min Indicates the set minimum change threshold; Finally, the optimal r value is obtained, and the matching result is applied to generate the ideal periodic heartbeat pattern using the optimized optimal r. For each detected heartbeat x k ,checks if it matches the ideal heartbeat within the tolerance and marks the matching heartbeat, calculates the average interval based on the accepted heartbeat or directly uses r, outputs the heart rate estimate.

9. The non-contact heart rate measurement system based on structural vibration sensing according to claim 1, characterized in that: The confidence calculation described in step 4 is achieved by using gradient boosted random forest regression: Step 4-1, using the same sliding window as the heartbeat periodicity matching algorithm in step 3-2, extracting the time-frequency domain feature vector F of the window signal; In step 4-2, the dataset is divided into a training set and a test set based on the time-frequency domain feature vector F. The training set is used to train the gradient boosting random forest regression model. The model performance is then evaluated on the test set. The trained model is then applied to each sliding window to make predictions and output confidence scores. In step 4-3, the trained model makes predictions for each window of new data, obtains a confidence score, and applies a confidence threshold to make an acceptance / rejection decision.

10. The non-contact heart rate measurement system based on structural vibration sensing according to claim 9, characterized in that: The feature vector F specifically includes the following features: F = [StdDev, PPIntervalStd, ZCR, PSDMean, SpectralEntropy, DominantFreq, SpectralSlope, SpectralBandwidth, PeakDensity, F1HistoryMean] Standard deviation StdDev measures signal fluctuations. A high standard deviation may indicate noise. The formula is as follows: Among them, x i is the signal value of the i-th sample point in the window, is the signal mean, N is the number of sample points, which depends on the sampling rate; The peak-to-peak interval standard deviation PPIntervalStd measures the stability of the heartbeat cycle and is expressed as follows: Among them, t j Indicates the peak time, represents the average interval, M is the number of peaks; The zero crossing rate ZCR captures the zero point change of the signal and indicates the noise level. The formula is as follows: in, represents the indicator function, when x i ·x i+1 When <0, the output is 1, otherwise 0; The power spectral density mean PSDMean measures the signal energy distribution and is expressed as follows: Among them, P k It represents the power spectrum density value after fast Fourier transform FFT, and K represents the number of frequency points; Spectral Entropy, which measures spectrum uncertainty, is expressed as follows: Among them, p k =P k / ∑P represents normalized power; The dominant frequency DominantFreq indicates the frequency of the maximum peak in the spectrum, indicating the main periodicity (such as heart rate). The formula is as follows: Where P(f) is the power spectral density at frequency f; Spectral Slope, linear regression fitting spectrum, quantifies the spectrum drop rate, the formula is as follows: Among them, f k Indicates frequency; and represents the mean; Spectral Bandwidth measures the width of the spectrum. The formula is as follows: Peak density PeakDensity, the formula is as follows: Where M is the number of peaks, f s is the sampling rate; The F1 score historical mean F1HistoryMean is calculated as follows: Among them, W is the number of historical windows, F1 w is the F1 score of the first W windows.