A sleep monitoring system and method
Through a non-invasive design and a multi-channel parallel computing sleep monitoring system, the problems of poor comfort and low detection accuracy of existing devices have been solved, achieving interference-free and accurate sleep monitoring, which is suitable for home scenarios.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- CHENGDU IDEAL TECH DEV CO LTD
- Filing Date
- 2026-04-07
- Publication Date
- 2026-06-09
Smart Images

Figure CN122163155A_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of sleep monitoring technology, specifically relating to a sleep monitoring system and method. Background Technology
[0002] With the fast pace of modern life and increasing work pressure, sleep quality has become a core factor affecting physical and mental health and daily work efficiency. Currently, most people lack a comprehensive and accurate understanding of their own sleep patterns and are unable to improve sleep quality in a targeted manner.
[0003] Among traditional sleep monitoring devices, medical polysomnography (PSG) is the gold standard for sleep monitoring. However, these devices are expensive, have complex operating procedures, and require professional operation and interpretation, making them unsuitable for everyday home use. Wearable sleep monitoring devices need to be worn close to the body, which can easily interfere with the user's sleep. Long-term wear is uncomfortable, and user compliance is low. Existing non-invasive sleep monitoring devices generally suffer from weak signal processing anti-interference capabilities, insufficient accuracy in heart rate and respiratory rate detection, limited dimensions for sleep state determination, and low accuracy, making it difficult to meet the needs of long-term, continuous, and accurate sleep monitoring in home settings. Summary of the Invention
[0004] To address the problems mentioned in the background section, this invention provides a sleep monitoring system and method that solves the problems of poor comfort, weak interference resistance, insufficient accuracy in heart rate and respiratory rate detection, single dimension of sleep state determination, and low accuracy in the prior art.
[0005] To achieve the above objectives, the present invention provides the following technical solution: A sleep monitoring system includes a monitoring band, a sleep sensor module, an analog-to-digital converter (ADC), a microcontroller (MCU), a data storage module, and a data upload module; The sleep sensor module uses a vibration sensor. The sleep sensor module is laid inside the monitoring strip, which is in non-invasive contact with the human body. The output terminal of the sleep sensor module is electrically connected to the input terminal of the analog-to-digital converter (ADC). The sleep sensor module is used to collect sleep signals in the form of physiological vibrations during human sleep and output them to the analog-to-digital converter (ADC). The analog-to-digital converter (ADC) adopts a single-channel timing acquisition mode. The output of the ADC is electrically connected to the microcontroller (MCU). The ADC is used to convert the received sleep signal into a digital signal and output it to the MCU. The microcontroller (MCU) has a built-in multi-channel sleep parameter calculation unit and a sleep state determination unit. The multi-channel sleep parameter calculation unit includes multiple independent heart rate calculation channels and respiratory rate calculation channels, which are used to perform parallel calculation of heart rate and respiratory physiological parameters. The sleep state determination unit is used to perform body movement detection, bed exit detection and sleep depth determination. The data storage module and data upload module are both connected to the microcontroller (MCU).
[0006] A sleep monitoring method includes the following steps: S1: The sleep sensor module collects human sleep signals in real time, and the analog-to-digital converter (ADC) performs analog-to-digital conversion to obtain waveform data. S2: Based on waveform data, the microcontroller (MCU) performs differentiated preprocessing on the waveform data in parallel through multiple independent heart rate calculation channels and respiratory rate calculation channels at a preset processing frequency to obtain the preprocessed data corresponding to each channel; the preprocessing includes a combination of moving average, first-order difference, extreme value screening and period conversion. S3: Determine whether the current number of data collections has reached the preset number. If yes, proceed to S4; otherwise, return to S1. S4: Based on the preprocessed data of each channel, calculate the heart rate and respiratory rate values respectively. Then, by verifying the validity of the data of each channel, select the channel with the optimal amount of valid data and determine it as the final heart rate and respiratory rate values. S5: Based on the final heart rate value, final respiratory rate value, and preprocessed data, perform body movement detection and bed exit detection respectively. At the same time, based on the heart rate change range calculated from the current heart rate and historical heart rate data, perform sleep depth determination to obtain sleep status results.
[0007] Compared with the prior art, the beneficial effects of the present invention are: 1. This invention adopts a non-invasive design, which collects physiological vibration signals during human sleep by using vibration sensors laid in the monitoring belt. It does not require users to wear any devices close to their bodies, will not interfere with users' normal sleep, is convenient to use, and is suitable for long-term and continuous sleep monitoring needs in home settings.
[0008] 2. This invention adopts a multi-channel parallel computing architecture. The heart rate calculation channel and the respiratory rate calculation channel can perform differentiated preprocessing and parallel computing on the acquired waveform data. Then, the channel result with the optimal amount of effective data is selected as the final output through validity verification. This greatly improves the anti-interference ability and detection accuracy of physiological parameters such as heart rate and respiratory rate, and avoids the deviation of detection results caused by abnormal data in a single channel.
[0009] 3. This invention combines multi-dimensional data such as heart rate, respiratory rate, and body movement signals to construct a comprehensive sleep state determination system, which can accurately realize body movement detection, bed exit detection, and sleep depth classification. Attached Figure Description
[0010] Figure 1 This is a flowchart illustrating the process of this application. Detailed Implementation
[0011] To facilitate understanding of the technical content of this invention by those skilled in the art, the invention will be further described in detail below with reference to the accompanying drawings and specific examples. It should be understood that the specific examples described herein are merely illustrative and not intended to limit the scope of the invention.
[0012] A sleep monitoring system includes a monitoring band, a sleep sensor module, an analog-to-digital converter (ADC), a microcontroller (MCU), a data storage module, and a data upload module; The monitoring strip features a flexible, bendable strip structure that can be laid under the mattress for non-invasive contact with the body, eliminating the need for users to wear it directly and preventing sleep disturbance. The sleep sensor module uses a high-precision piezoelectric vibration sensor, embedded within the monitoring strip, to accurately collect physiological vibration signals generated during sleep due to heartbeat, respiration, and body activity—the sleep signals. Its specific working principle is as follows: Body motion signal: Captures large amplitude, wide bandwidth, and irregular vibration electrical signals. It has the highest amplitude among the three types of signals and corresponds to the body motion judgment logic that exceeds the threshold by summing the absolute values of the differences. Respiratory-related signals: Capture low-frequency, regular small-amplitude vibration signals in the range of 0.1-0.5Hz (corresponding to the normal respiratory rate range), and extract the low-frequency periodic features from the mixed signal through multiple moving average filtering to complete the acquisition of respiratory-related signals; Heart rate related signals: Capture high-frequency, extremely weak periodic vibration signals in the range of 0.4-4Hz (corresponding to the normal heart rate range), and extract the high-frequency heartbeat characteristics from the mixed vibration signals through moving average, first-order difference, and extreme value screening to complete the acquisition of heart rate related signals; The output of the sleep sensor module is electrically connected to the input of the analog-to-digital converter (ADC), and the collected analog sleep signal is output to the ADC. The analog-to-digital converter (ADC) adopts a single-channel timed acquisition mode. In this embodiment, the sampling interval of the ADC is set to 20ms, and 1250 data acquisitions are completed within the acquisition period, corresponding to a 25-second acquisition period. The output of the ADC is electrically connected to the microcontroller (MCU), and after converting the acquired analog signal into a digital signal, it is output to the MCU for subsequent processing. The microcontroller (MCU) serves as the core control unit of the system, and incorporates a multi-channel sleep parameter calculation unit and a sleep state determination unit. The multi-channel sleep parameter calculation unit includes four independent heart rate calculation channels and two independent respiratory rate calculation channels. Each channel uses differentiated preprocessing parameters and can perform the calculation of heart rate and respiratory physiological parameters in parallel without interference. The sleep state determination unit is used to perform body movement detection, bed exit detection, and sleep depth determination. The data storage module is electrically connected to the MCU and is used to store real-time monitoring data, historical sleep parameter thresholds, sleep state records, and other data. The data upload module uses a 4G communication module and is electrically connected to the MCU to transmit monitoring data and sleep state results to the cloud server. It also supports a privacy mode, allowing users to choose to disable data upload and store monitoring data locally only.
[0013] A sleep monitoring method includes the following steps: S1: After the system starts, the sleep sensor module in the monitoring band collects sleep signals during the human sleep process in real time, including heart rate signals, breathing signals and body movement signals. The analog signal output by the sleep sensor module is transmitted to the analog-to-digital converter (ADC). The ADC performs single-channel timed acquisition at a fixed sampling interval of 20ms, converting the analog signal into a digital signal to obtain the raw waveform data. 1250 data acquisitions are completed in each acquisition cycle.
[0014] S2: Based on the acquired waveform data, the microcontroller (MCU) performs differentiated preprocessing on the waveform data in parallel through four independent heart rate calculation channels and two independent respiratory rate calculation channels at a preset processing frequency. Each channel uses a different window length and processing parameters to obtain the preprocessed data corresponding to each channel.
[0015] The core preprocessing operations include a combination of moving average, first-order difference, extreme value screening, and period conversion, specifically: For both heart rate and respiratory signals, a moving average operation is first performed. The formula for calculating the moving average is: Avg(n)=(x(n+(k-1))+……+x(n+1)+x(n)) / k; where x(n) is the nth preprocessed data point, i.e., the original digital sampling point obtained by ADC acquisition and conversion, and k is the preset window length of the corresponding channel. Different k values are set for the four heart rate calculation channels and different k values are set for the two respiratory rate calculation channels to achieve differentiated processing. For the respiratory signal, after a single moving average, the moving average operation is repeated multiple times to achieve waveform smoothing and noise reduction, thereby improving the recognition accuracy of the respiratory signal.
[0016] For the heart rate signal, after the moving average, first-order difference and extreme value filtering operations are performed sequentially; For respiratory signals, peak identification and interval calculation are performed after multiple moving averages.
[0017] S3: The system tracks the current number of data collections in real time through the cover_cnt1 variable, and determines whether the current number of data collections has reached the preset 1250 times. If so, it proceeds to S4; otherwise, it returns to S1 to continue data collection, ensuring that there is enough data to complete the accurate calculation of physiological parameters.
[0018] S4: Based on the preprocessed data of each channel, calculate the heart rate and respiratory rate values respectively. Then, by verifying the validity of the data of each channel, select the channel with the optimal amount of valid data and determine it as the final heart rate and respiratory rate values.
[0019] The specific method for determining the final heart rate value is as follows: After the moving average operation, the heart rate signal is subjected to first-order differencing, extreme value filtering, and period conversion operations in sequence. First-order difference operation: Calculate the difference between adjacent preprocessed data points, with the formula Δx(n)=x(n)-x(n-1), where x(n) is the nth preprocessed data point of the heart rate signal. The first-order difference highlights the abrupt change characteristics of the signal, making it easier to identify peak points. Extreme value screening operation: Perform extreme value detection on the difference results to identify the peak point of the heart rate signal. Each heart rate calculation channel can use a maximum or minimum value detection strategy with different window sizes. Period conversion operation: Calculate the time interval T between adjacent peak points of the heart rate signal, and convert it to the heart rate value using the formula HR=60000 / (T×20), where 20 is the sampling period in ms, to obtain the heart rate calculation result for a single channel.
[0020] After calculating the heart rate values for each channel, the validity of the heart rate data from the four channels is verified. The preset valid heart rate range is 25-230 beats / minute. Invalid data outside this range are removed. The amount of valid data for each heart rate calculation channel is counted. The channel with the most valid data is selected, and the average of all valid data in that channel is taken as the final heart rate value.
[0021] The final respiratory rate value is determined as follows: For the respiratory signal, after multiple moving average operations, the following operations are performed sequentially: interval calculation, effective interval filtering, respiratory rate conversion, data uniformity calculation, and uniformity filtering. Interval calculation operation: Calculate the interval between adjacent respiratory peak points of the respiratory signal, with the formula Interval(i)=Peak(i+1)-Peak(i), where Peak(i) is the position of the i-th respiratory peak point; Valid interval filtering operation: retain intervals with 15≤Interval(i)≤1000 as valid intervals, and remove abnormal intervals that exceed this range to avoid interference data from affecting the calculation results; Respiratory rate conversion: For each valid interval, the respiratory rate value is converted using the formula BR=60000 / (Interval(i)×20), where 20 is the sampling period and the unit is ms; Data uniformity calculation operation: Calculate the rate of change of adjacent respiratory rate values, the formula is Uniformity=|BR(i+1)-BR(i)|×100 / ((BR(i+1)+BR(i)) / 2+1), the rate of change characterizes the uniformity of respiratory rate data; Uniformity screening: Respiratory rate values with uniformity < 30% are retained as valid data, and invalid data with excessive fluctuations are removed.
[0022] After processing the two respiratory rate calculation channels, the results of the two channels are screened for validity. The channel result with more valid data is selected as the final respiratory rate value. If the two channels have the same amount of valid data, the channel result with higher consistency is selected as the final respiratory rate value through data consistency verification between channels.
[0023] S5: Based on the final heart rate value, final respiratory rate value, and preprocessed data, perform body movement detection and bed exit detection respectively. At the same time, based on the heart rate change range calculated from the current heart rate and historical heart rate data, perform sleep depth determination to obtain sleep status results.
[0024] The specific implementation of body movement detection is as follows: the sleep state determination unit performs absolute value processing on the preprocessed data obtained after the first-order difference processing of S2, calculates the cumulative sum of all absolute valued data within a preset time period, Sum_Abs, compares the cumulative sum Sum_Abs with the preset body movement threshold body_movement, and when Sum_Abs>body_movement, it is determined to be a body movement state and marked Body_Move=1.
[0025] The specific implementation of the bed-out detection is as follows: The sleep state determination unit performs absolute value processing on the preprocessed data obtained after the first-order difference processing of S2. The absolute value data of 14 consecutive seconds is taken as a detection cycle. When all the absolute value data in the detection cycle is lower than the preset bed-out signal threshold, the detection cycle is determined to be a bed-out state. The Go_Bed array is used to store the bed-out determination results of 7 consecutive 14-second detection cycles. When the results of all 7 detection cycles stored in the array are bed-out, the final determination is a bed-out state.
[0026] Sleep depth is determined based on the range of heart rate changes, historical average heart rate threshold, and body movement signals, and is divided into three states: deep sleep, light sleep, and wakefulness. The specific determination logic is as follows: when the range of heart rate changes is less than or equal to the preset deep sleep smoothing threshold, and the average heart rate is less than or equal to the historical average heart rate × the preset sleep quality boundary threshold, and there is no body movement signal, it is determined to be a deep sleep state; when the range of heart rate changes exceeds the preset deep sleep smoothing threshold but there is no body movement signal, it is determined to be a light sleep state; when the heart rate change in a continuous cycle is greater than the preset heart rate change threshold (2 beats / minute in this embodiment), or the heart rate is greater than the historical average heart rate × the preset respiratory initiation threshold, it is determined to be a wakefulness state.
[0027] In this embodiment, the MCU can store the final heart rate value, respiratory rate value, and sleep status results in the data storage module, and transmit them to the cloud server through the 4G data upload module. Users can view their own sleep monitoring data and sleep quality report through the terminal device and improve their sleep habits accordingly.
Claims
1. A sleep monitoring system, characterized in that, It includes a monitoring band, a sleep sensor module, an analog-to-digital converter (ADC), a microcontroller (MCU), a data storage module, and a data upload module; The sleep sensor module uses a vibration sensor. The sleep sensor module is laid inside the monitoring strip, which is in non-invasive contact with the human body. The output terminal of the sleep sensor module is electrically connected to the input terminal of the analog-to-digital converter (ADC). The sleep sensor module is used to collect sleep signals in the form of physiological vibrations during human sleep and output them to the analog-to-digital converter (ADC). The analog-to-digital converter (ADC) adopts a single-channel timing acquisition mode. The output of the ADC is electrically connected to the microcontroller (MCU). The ADC is used to convert the received sleep signal into a digital signal and output it to the MCU. The microcontroller (MCU) has a built-in multi-channel sleep parameter calculation unit and a sleep state determination unit. The multi-channel sleep parameter calculation unit includes multiple independent heart rate calculation channels and respiratory rate calculation channels, which are used to perform parallel calculation of heart rate and respiratory physiological parameters. The sleep state determination unit is used to perform body movement detection, bed exit detection and sleep depth determination. The data storage module and data upload module are both connected to the microcontroller (MCU).
2. The sleep monitoring system according to claim 1, characterized in that, The multi-channel sleep parameter calculation unit includes four independent heart rate calculation channels and two independent respiratory rate calculation channels; the analog-to-digital converter (ADC) is used to complete a preset number of data acquisitions within the acquisition cycle.
3. A sleep monitoring method, applied to a sleep monitoring system according to any one of claims 1-2, characterized in that, Includes the following steps: S1: The sleep sensor module collects human sleep signals in real time, and the analog-to-digital converter (ADC) performs analog-to-digital conversion to obtain waveform data. S2: Based on waveform data, the microcontroller (MCU) performs differentiated preprocessing on the waveform data in parallel through multiple independent heart rate calculation channels and respiratory rate calculation channels at a preset processing frequency to obtain the preprocessed data corresponding to each channel; the preprocessing includes a combination of moving average, first-order difference, extreme value screening and period conversion. S3: Determine whether the current number of data collections has reached the preset number. If yes, proceed to S4; otherwise, return to S1. S4: Based on the preprocessed data of each channel, calculate the heart rate and respiratory rate values respectively. Then, by verifying the validity of the data of each channel, select the channel with the optimal amount of valid data and determine it as the final heart rate and respiratory rate values. S5: Based on the final heart rate value, final respiratory rate value, and preprocessed data, perform body movement detection and bed exit detection respectively. At the same time, based on the heart rate change range calculated from the current heart rate and historical heart rate data, perform sleep depth determination to obtain sleep status results.
4. The sleep monitoring method according to claim 3, characterized in that, In S1, sleep signals include heart rate signals, respiratory signals, and body movement signals.
5. A sleep monitoring method according to claim 4, characterized in that, In S2, both heart rate and respiratory signals undergo moving average operation. The formula for calculating the moving average is: Avg(n)=(x(n+(k-1))+……+x(n+1)+x(n)) / k; Where x(n) is the nth preprocessed data point, that is, the original digital sampling point obtained by the ADC at fixed intervals, and k is the preset window length of the corresponding channel; When the object of the moving average operation is the respiratory signal, the moving average operation is repeated multiple times.
6. A sleep monitoring method according to claim 5, characterized in that, The final heart rate value is determined as follows: based on the moving average operation, the heart rate signal is sequentially subjected to first-order differencing, extreme value filtering, and period conversion operations. Specifically: First-order differencing involves calculating the difference between adjacent preprocessed data points using the following formula: Δx(n) = x(n) - x(n-1), where x(n) is the nth preprocessed data point of the heart rate signal; Extreme value screening involves performing extreme value detection on the difference results to identify the peak points of the heart rate signal. The period conversion is as follows: Calculate the time interval T between adjacent peak points of the heart rate signal, and convert it to the heart rate value using the formula HR=60000 / (T×20), where 20 is the sampling period in milliseconds; After validating the multi-channel heart rate data within a preset effective heart rate range, the effective data volume of each heart rate calculation channel is counted, and the channel with the largest effective data volume is selected. The average value of its effective data is then taken as the final heart rate value.
7. A sleep monitoring method according to claim 6, characterized in that, In S4, the final respiratory rate value is determined as follows: based on the moving average operation, the respiratory signal is sequentially subjected to interval calculation, effective interval screening, respiratory rate conversion, data uniformity calculation, and uniformity screening. Specifically: Interval calculation is as follows: The interval between adjacent respiratory signal peaks is calculated using the following formula: Interval(i)=Peak(i+1)-Peak(i); Where Peak(i) is the position of the i-th respiratory peak point; The effective interval selection is as follows: intervals with 15 ≤ Interval(i) ≤ 1000 are retained as effective intervals; Respiratory rate conversion: For each effective interval, the respiratory rate value is calculated using the following formula: BR = 60000 / (Interval(i) × 20); Where 20 represents the sampling period, in milliseconds (ms). Data uniformity is calculated by calculating the rate of change between adjacent respiratory rate values, using the following formula: Uniformity=|BR(i+1)-BR(i)|×100 / ((BR(i+1)+BR(i)) / 2+1); Uniformity screening was performed by retaining respiratory rate values with a uniformity of less than 30% as valid data. After filtering the results from the two independent respiratory rate calculation channels to determine the validity, the channel with more valid data was selected to determine the final respiratory rate value.
8. A sleep monitoring method according to claim 7, characterized in that, In S5, body movement detection is achieved in the following way: the sleep state determination unit performs absolute value processing on the preprocessed data obtained after the first-order difference processing in S2, calculates the cumulative sum of all absolute valued data within a preset time, compares the cumulative sum with a preset body movement threshold, and determines the body movement state when the cumulative sum is greater than the preset body movement threshold. The bed-out detection is achieved in the following way: The sleep state determination unit performs absolute value processing on the preprocessed data obtained after the first-order differential processing of S2. The absolute value data of a continuous preset unit detection time is taken as a detection cycle. When all the absolute value data in the detection cycle are lower than the preset bed-out signal threshold, the detection cycle is determined to be a bed-out state. The bed-out determination results of a preset number of consecutive detection cycles are stored in an array. When the results of all detection cycles stored in the array are a bed-out state, the final determination is a bed-out state.
9. A sleep monitoring method according to claim 8, characterized in that, In S5, sleep depth is determined based on heart rate variation range, historical average heart rate threshold, and body movement signals, and is divided into three states: deep sleep, light sleep, and wakefulness. The determination logic is as follows: When the heart rate variation range is less than or equal to the preset deep sleep smoothing threshold, and the average heart rate is less than or equal to the historical average heart rate × the preset sleep quality boundary threshold, and there is no body movement signal, it is determined to be in a deep sleep state. When the heart rate variation exceeds the preset deep sleep smoothing threshold but there is no body movement signal, it is determined to be a light sleep state; When the continuous cycle of heart rate change is greater than the preset heart rate change threshold, or the heart rate is greater than the historical average heart rate multiplied by the preset respiratory initiation threshold, the person is considered to be in a conscious state.