Adaptive tremor judgment and stimulation pulse parameter adjustment method and system based on joint features

Through the adaptive tremor judgment and pulse stimulation parameter adjustment of the accelerometer, the problem that the existing technology cannot judge and treat idiopathic tremor and Parkinson's disease in real time is solved, and the effect of reducing tremor symptoms in real time in daily life is achieved.

CN119235271AInactive Publication Date: 2025-01-03SHANGHAI MISTAR MEDICAL TECH CO LTD

Patent Information

Application Number
CN202411784161.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-06
Publication Date
2025-01-03
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The existing treatment methods for idiopathic tremor and Parkinson's disease need to be carried out in a specific time and environment, and real-time judgment and treatment cannot be achieved, affecting the patient's daily life.

Method used

The adaptive tremor judgment method based on an accelerometer is used to make real-time judgments through the joint characteristics of time and frequency domain data, and the pulse stimulation parameters are adaptively adjusted according to the tremor peak, and the pulse stimulation parameters are adjusted in real time to alleviate tremor symptoms.

Benefits of technology

Real-time judgment in patients' daily life and alleviate the effects of idiopathic tremor or Parkinson's symptoms, improving the practicality and convenience of treatment.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119235271A_ABST
    Figure CN119235271A_ABST
Patent Text Reader

Abstract

The invention provides a self-adaptive tremor judgment and stimulation pulse parameter adjustment method and system based on joint features. Belongs to the technical field of diagnosis and particularly relates to adaptive tremor judgment and pulse stimulation parameter adjustment. The method comprises the following steps: acquiring patient data in real time by using an accelerometer, and judging whether a tremor signal flag is 1 or not; when the tremor signal mark Flag is not equal to 1, processing the collected patient data to obtain time domain data and frequency domain data, performing adaptive tremor judgment based on joint features, and when the tremor signal mark Flag is judged to be a tremor signal, setting the tremor signal mark Flag to be 1, and calculating a tremor peak-to-peak value; and starting a pulse stimulation function, and adaptively adjusting pulse stimulation parameters according to the tremor peak-to-peak value. After the technical scheme is adopted, self-adaptive tremor judgment is accurately and quickly carried out in real time through time domain and frequency domain data, tremor related parameters are calculated, and pulse stimulation parameters are further adjusted according to the tremor related parameters.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of diagnostic technology, and in particular to the field of adaptive tremor judgment and pulse stimulation parameter adjustment technology. Background Art

[0002] Essential tremor and Parkinson's disease are diseases with a high incidence in the elderly. Essential tremor is characterized by involuntary shaking of the patient's limbs when performing specific actions; while the symptoms of Parkinson's disease mainly include resting tremor, muscle rigidity, bradykinesia, and postural balance disorders. Mild symptoms can be tolerated by patients, but severe symptoms can seriously affect patients' daily life behaviors.

[0003] Common treatments for essential tremor and Parkinson's disease include drugs, DBS or transcutaneous pulse stimulation. However, these treatments generally require patients to receive treatment for a period of time at a specific time and in a specific environment. This treatment will interrupt the patient's current daily life and cause inconvenience to the patient. At the same time, it is impossible to make real-time judgments and implement treatments when the patient is ill. Summary of the invention

[0004] In order to overcome the above technical defects, the first aspect of the present invention provides an adaptive tremor judgment and stimulation pulse parameter adjustment method based on joint features, which includes:

[0005] Step S1: using an accelerometer to collect patient data in real time at a certain sampling frequency, and determining whether the tremor signal flag Flag is 1;

[0006] Step S2: when the tremor signal flag Flag is not equal to 1, the collected patient data is processed to obtain time domain data and frequency domain data, and adaptive tremor judgment is performed based on the joint features of the time domain data and the frequency domain data. When it is judged to be a tremor signal, the tremor signal flag Flag is set to 1, and the tremor peak-to-peak value is calculated;

[0007] Step S3: Start the pulse stimulation function and adaptively adjust the pulse stimulation parameters according to the peak-to-peak value of the tremor.

[0008] Furthermore, in step S1, when it is determined that the vibration signal flag Flag is 1, the process directly proceeds to step S3.

[0009] Furthermore, after step S2, the method further includes: starting a tremor assessment function, directly regarding subsequent data as valid tremor data, and no longer performing tremor signal determination.

[0010] Furthermore, in step S1, the collected patient data is three-channel data DataX, DataY, and DataZ. Each time a certain amount of data is collected and processed, it is a frame, and the amount of data processed each time is 2 nThe number of sampling points.

[0011] Further, in step S2,

[0012] (1) When the number of processed frames is less than or equal to the preset number of learning frames, it is the adaptive tremor threshold learning stage, and the tremor signal is determined according to the following steps:

[0013] Step S2.1: pre-process the three-channel data DataX, DataY, and DataZ, and obtain data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively;

[0014] Step S2.2: Let DataX_HP, DataY_HP, and DataZ_HP pass through bandpass filters respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP;

[0015] Step S2.3: Calculate and count the mean values ​​of the data of the three channels after passing through the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the means are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step.

[0016] Step S2.4: compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data;

[0017] Step S2.5: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data respectively, the current data is the peak value.

[0018] Step S2.6: Based on the number of frame data sampling points, the sampling frequency and the known frequency range of essential tremor, the corresponding peak number range is calculated as:

[0019] The lowest critical value = (number of frame data sampling points / sampling frequency) × the lowest frequency of essential tremor,

[0020] The highest critical value = (number of frame data sampling points / sampling frequency) × the highest frequency of essential tremor;

[0021] When the peak value of the tremor channel statistics is within the value range, the next step is carried out, otherwise the processing is not continued;

[0022] Step S2.7: If the judgment is passed, transform the tremor channel time domain data into frequency domain data;

[0023] Step S2.8: Calculate the spectrum amplitude of the frequency domain data. The frequency domain data is a complex number. The real part and the imaginary part of the data are squared and then added. Finally, the square root is taken to obtain the spectrum amplitude.

[0024] Step S2.9: Find the frequency of the spectrum line corresponding to the maximum spectrum amplitude, which is the corresponding tremor frequency. When the tremor frequency is within the known essential tremor frequency range, proceed to the next step, otherwise, do not proceed further;

[0025] Step S2.10: Add the spectrum amplitude data of the spectrum lines corresponding to the known essential tremor frequency range to obtain the tremor spectrum amplitude, and at the same time add the spectrum amplitudes corresponding to all the spectrum lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel;

[0026] Step S2.11: Determine whether the ratio is greater than a threshold value. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored.

[0027] Step S2.12: If it is determined to be a tremor, the estimated tremor peak value is calculated, and the tremor flag Flag is set to 1, indicating that it has been determined to be a tremor signal;

[0028] The peak value calculation formula is:

[0029] Peak value = 0.25 × acceleration × frequency

[0030] Wherein, acceleration is the data mean after bandpass filter calculated from the accelerometer data of the time domain tremor channel, and frequency is the tremor frequency;

[0031] Step S2.13: When the number of processed frames = the preset number of learning frames, calculate the mean of the numerical values ​​counted in the above step S2.3, the tremor frequency counted in step S2.9, the ratio counted in step S2.10 and the mean of the peak values ​​counted in step S2.12;

[0032] (2) When the number of processed frames is greater than the preset number of learning frames, it is the stage of determining the adaptive tremor threshold. The threshold is continuously updated according to the preset number of learning frames. The updating method is the same as when the number of processed frames is less than or equal to the preset number of learning frames. When the preset number of learning frames is not met, the data that needs to be updated is counted. When the number of processed frames is equal to the preset number of learning frames, the mean is calculated and the judgment threshold is updated. The adaptive tremor threshold determination stage judges the tremor signal according to the following steps:

[0033] Step S2.14: pre-process the three-channel data DataX, DataY, and DataZ, and obtain data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively;

[0034] Step S2.15: Let DataX_HP, DataY_HP, and DataZ_HP pass through bandpass filters respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP;

[0035] Step S2.16: Calculate and count the mean values ​​of the data of the three channels after passing through the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the specific ratio values ​​of the mean values ​​are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step. The ratio value is a value between 0 and 1.

[0036] Step S2.17: compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data;

[0037] Step S2.18: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data, the current data is the peak value.

[0038] Step S2.19: Based on the number of frame data sampling points, the sampling frequency and the known essential tremor frequency range, the corresponding peak number range is calculated as:

[0039] The lowest critical value = (number of frame data sampling points / sampling frequency) × the lowest frequency of essential tremor,

[0040] The highest critical value = (number of frame data sampling points / sampling frequency) × the highest frequency of essential tremor;

[0041] When the peak value of the tremor channel statistics is within the value range, the next step is carried out, otherwise the processing is not continued;

[0042] Step S2.20: If the judgment is passed, transform the tremor channel time domain data into frequency domain data;

[0043] Step S2.21: Calculate the spectrum amplitude of the frequency domain data. The frequency domain data is a complex number. Square the real part and the imaginary part of the data respectively and then add them together. Finally, take the square root to obtain the spectrum amplitude.

[0044] Step S2.22: Find the spectral line frequency corresponding to the maximum spectral amplitude, which is the corresponding tremor frequency. When the value of the tremor frequency with the statistical mean as the center and the value of the lesser frequency deviation allowed is within the known essential tremor frequency range, proceed to the next step, otherwise, do not continue processing;

[0045] Step S2.23: Add the spectrum amplitude data of the spectrum lines corresponding to the known essential tremor frequency range to obtain the tremor spectrum amplitude, and at the same time add the spectrum amplitudes corresponding to all the spectrum lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel;

[0046] Step S2.24: Determine whether a specific ratio value of the statistical mean ratio value is greater than a threshold value, and the ratio value is selected between 0 and 1. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored.

[0047] Step S2.25: If it is determined to be a tremor, the estimated tremor peak value is calculated, and the tremor flag Flag is set to 1, indicating that it has been determined to be a tremor signal;

[0048] The peak value calculation formula is:

[0049] Peak value = 0.25 × acceleration × frequency

[0050] The acceleration is the data mean after the bandpass filter calculated from the accelerometer data of the time domain tremor channel, and the frequency is the tremor frequency.

[0051] Further, in step S3, adaptively adjusting the pulse stimulation parameters according to the tremor peak value includes the following steps:

[0052] The change trend of tremor is expressed by the ratio of the peak value to the threshold value. The calculation formula is as follows:

[0053] Trend = (peak-to-peak value of tremor - threshold) / threshold

[0054] The initial value of the threshold is set to different values ​​according to different product output data, and the subsequent threshold will be continuously updated;

[0055] If the Trend calculation result is positive, it means that the tremor is severe, and if it is negative, it means that the tremor is alleviated. The pulse stimulation parameters are adaptively adjusted according to the Trend calculation result.

[0056] Furthermore, the initial value of the pulse stimulation parameter is the lowest intensity Current=1. This value does not directly represent the mA value, but only has a fixed mapping relationship with the mA value. Different mapping relationships need to be changed according to the product and application scenario. Here, the highest current intensity is 10mA, the maximum number of gears is 50, and each gear is 0.2mA; when Current<20, the current gear is adjusted first; when Current≥20, the pulse cluster modulation frequency is adjusted first, and the frequency range is 0~200Hz;

[0057] The specific strategy for adaptively adjusting pulse stimulation parameters according to the peak tremor value is as follows:

[0058] When Current<20 and Trend>0, the current gear is +1;

[0059] When Current<20 and Trend<0, the current gear is -1;

[0060] When 50>Current≥20 and Trend>0.3, the current level is +1;

[0061] If Current=50, Frequency<200, stimulation frequency+10;

[0062] When the frequency is less than 200, the stimulation frequency is +10;

[0063] If frequency = 200 and 50>Current, the current level is increased by 1 and the stimulation frequency is adjusted to 10;

[0064] When Trend≤|0.3|, remain unchanged;

[0065] When the stimulation frequency is > 10 and Trend ≤ -0.3, the stimulation frequency is -10;

[0066] If Frequency = 0, and Current > 0, the current level is -1, and the stimulation frequency is adjusted to 200.

[0067] The second aspect of the present application provides an adaptive tremor determination and stimulation pulse parameter adjustment system based on joint features, which is applied to the above-mentioned adaptive tremor determination and stimulation pulse parameter adjustment method based on joint features, and includes:

[0068] A data acquisition module, wherein the data acquisition module uses an accelerometer to collect patient data in real time at a certain sampling frequency;

[0069] A tremor flag determination module, wherein the tremor flag determination module is used to determine whether a tremor signal flag Flag is 1;

[0070] An adaptive tremor determination module, wherein when a tremor signal flag Flag is not equal to 1, the module processes the collected patient data to obtain time domain data and frequency domain data, performs adaptive tremor determination based on joint features of the time domain data and the frequency domain data, and sets the tremor signal flag Flag to 1 when it is determined to be a tremor signal;

[0071] A peak value calculation module, wherein the peak value calculation module is used to calculate the peak value of the tremor when the tremor signal flag Flag is 1;

[0072] The pulse stimulation parameter adjustment module starts the pulse stimulation function and adaptively adjusts the pulse stimulation parameters according to the peak-to-peak value of the tremor.

[0073] Furthermore, when the tremor flag determination module determines that the tremor signal flag Flag is 1, the peak value calculation module is directly called to calculate the tremor peak-to-peak value, and then the pulse stimulation parameter adjustment module is called to adaptively adjust the pulse stimulation parameters according to the tremor peak-to-peak value.

[0074] Furthermore, the patient data collected by the data acquisition module is three-channel data DataX, DataY, and DataZ. Each time a certain amount of data is collected and processed once, it is a frame, and the amount of data processed each time is 2 n The number of sampling points;

[0075] The adaptive tremor determination module is used to:

[0076] (1) When the number of processed frames is less than or equal to the preset number of learning frames, it is the adaptive tremor threshold learning stage, and the tremor signal is determined according to the following steps:

[0077] Step S2.1: pre-process the three-channel data DataX, DataY, and DataZ, and obtain data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively;

[0078] Step S2.2: Let DataX_HP, DataY_HP, and DataZ_HP pass through bandpass filters respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP;

[0079] Step S2.3: Calculate and count the mean values ​​of the data of the three channels after passing through the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the means are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step.

[0080] Step S2.4: compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data;

[0081] Step S2.5: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data respectively, the current data is the peak value.

[0082] Step S2.6: Based on the number of frame data sampling points, the sampling frequency and the known frequency range of essential tremor, the corresponding peak number range is calculated as:

[0083] The lowest critical value = (number of frame data sampling points / sampling frequency) × the lowest frequency of essential tremor,

[0084] The highest critical value = (number of frame data sampling points / sampling frequency) × the highest frequency of essential tremor;

[0085] When the peak value of the tremor channel statistics is within the value range, the next step is carried out, otherwise the processing is not continued;

[0086] Step S2.7: If the judgment is passed, transform the tremor channel time domain data into frequency domain data;

[0087] Step S2.8: Calculate the spectrum amplitude of the frequency domain data. The frequency domain data is a complex number. The real part and the imaginary part of the data are squared and then added. Finally, the square root is taken to obtain the spectrum amplitude.

[0088] Step S2.9: Find the frequency of the spectrum line corresponding to the maximum spectrum amplitude, which is the corresponding tremor frequency. When the tremor frequency is within the known essential tremor frequency range, proceed to the next step, otherwise, do not proceed further;

[0089] Step S2.10: Add the spectrum amplitude data of the spectrum lines corresponding to the known essential tremor frequency range to obtain the tremor spectrum amplitude, and at the same time add the spectrum amplitudes corresponding to all the spectrum lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel;

[0090] Step S2.11: Determine whether the ratio is greater than a threshold value. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored.

[0091] (2) When the number of processed frames is greater than the preset number of learning frames, it is the stage of determining the adaptive tremor threshold. The threshold is continuously updated according to the preset number of learning frames. The updating method is the same as when the number of processed frames is less than or equal to the preset number of learning frames. When the preset number of learning frames is not met, the data that needs to be updated is counted. When the number of processed frames is equal to the preset number of learning frames, the mean is calculated and the judgment threshold is updated. The adaptive tremor threshold determination stage judges the tremor signal according to the following steps:

[0092] Step S2.14: pre-process the three-channel data DataX, DataY, and DataZ, and obtain data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively;

[0093] Step S2.15: Let DataX_HP, DataY_HP, and DataZ_HP pass through bandpass filters respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP;

[0094] Step S2.16: Calculate and count the mean values ​​of the data of the three channels after the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the specific ratio values ​​of the mean values ​​are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step. The ratio value is a value between 0 and 1.

[0095] Step S2.17: compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data;

[0096] Step S2.18: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data, the current data is the peak value.

[0097] Step S2.19: Based on the number of frame data sampling points, the sampling frequency and the known essential tremor frequency range, the corresponding peak number range is calculated as:

[0098] The lowest critical value = (number of frame data sampling points / sampling frequency) × the lowest frequency of essential tremor,

[0099] The highest critical value = (number of frame data sampling points / sampling frequency) × the highest frequency of essential tremor;

[0100] When the peak value of the tremor channel statistics is within the value range, the next step is carried out, otherwise the processing is not continued;

[0101] Step S2.20: If the judgment is passed, transform the tremor channel time domain data into frequency domain data;

[0102] Step S2.21: Calculate the spectrum amplitude of the frequency domain data. The frequency domain data is a complex number. Square the real part and the imaginary part of the data respectively and then add them together. Finally, take the square root to obtain the spectrum amplitude.

[0103] Step S2.22: Find the spectral line frequency corresponding to the maximum spectral amplitude, which is the corresponding tremor frequency. When the value of the tremor frequency with the statistical mean as the center and the value of the lesser frequency deviation allowed is within the known essential tremor frequency range, proceed to the next step, otherwise, do not continue processing;

[0104] Step S2.23: Add the spectrum amplitude data of the spectrum lines corresponding to the known essential tremor frequency range to obtain the tremor spectrum amplitude, and at the same time add the spectrum amplitudes corresponding to all the spectrum lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel;

[0105] Step S2.24: Determine whether a specific ratio value of the statistical mean ratio value is greater than a threshold value, and the ratio value is selected between 0 and 1. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored.

[0106] The peak value calculation module is used for: if it is determined to be a tremor, the peak value calculation module calculates the estimated tremor peak value, and at the same time the tremor flag Flag is set to 1, indicating that it has been determined to be a tremor signal;

[0107] The peak value calculation formula is:

[0108] Peak value = 0.25 × acceleration × frequency

[0109] Wherein, acceleration is the data mean after bandpass filter calculated from the accelerometer data of the time domain tremor channel, and frequency is the tremor frequency;

[0110] The pulse stimulation parameter adjustment module is used to represent the change trend of tremor by the change ratio of the peak value to the threshold value, and the calculation formula is as follows:

[0111] Trend = (peak-to-peak value of tremor - threshold) / threshold

[0112] The initial value of the threshold is set to different values ​​according to different product output data, and the subsequent threshold will be continuously updated;

[0113] If the Trend calculation result is positive, it means that the tremor is severe, and if it is negative, it means that the tremor is alleviated. The pulse stimulation parameters are adaptively adjusted according to the Trend calculation result.

[0114] Compared with the prior art, the above technical solution has the following beneficial effects:

[0115] The present invention uses the signal collected by the accelerometer to accurately and quickly perform real-time adaptive tremor judgment and calculate tremor-related parameters through time domain and frequency domain data when it is determined that the patient has symptoms of essential tremor or Parkinson's disease in daily life. The pulse stimulation parameters are further adjusted according to the tremor-related parameters, and the radial nerve and / or median nerve of the patient are stimulated according to the whole pulse stimulation parameters, thereby reducing the impact of essential tremor or Parkinson's disease on the patient's life. BRIEF DESCRIPTION OF THE DRAWINGS

[0116] Figure 1 The module structure diagram of the adaptive tremor judgment and stimulation pulse parameter adjustment system based on joint features;

[0117] FIG2 is a flow chart of a method for adaptive tremor determination and stimulation pulse parameter adjustment based on joint features;

[0118] Figure 3 This is a schematic diagram of the X, Y, and Z three-channel signals collected by the accelerometer;

[0119] FIG4 is a schematic diagram of the calculation results of the tremor frequency. DETAILED DESCRIPTION

[0120] The advantages of the present invention are further described below in conjunction with the accompanying drawings and specific embodiments. Those skilled in the art should understand that the following specific description is illustrative rather than restrictive, and should not be used to limit the scope of protection of the present invention.

[0121] like Figure 1As shown, this embodiment provides an adaptive tremor judgment and stimulation pulse parameter adjustment system based on joint features, which includes: a data acquisition module, a tremor sign judgment module, an adaptive tremor judgment module, a peak value calculation module and a pulse stimulation parameter adjustment module.

[0122] The data acquisition module uses an accelerometer to collect patient data in real time at a certain sampling frequency.

[0123] The tremor flag determination module is used to determine whether a tremor signal flag Flag is 1.

[0124] The adaptive tremor determination module is used to process the collected patient data to obtain time domain data and frequency domain data when the tremor signal flag Flag is not equal to 1, and to perform adaptive tremor determination based on the joint features of the time domain data and the frequency domain data, and when it is determined to be a tremor signal, the tremor signal flag Flag is set to 1. The tremor flag determination module is also used to directly call the peak value calculation module to calculate the tremor peak value when it is determined that the tremor signal flag Flag is 1, and then call the pulse stimulation parameter adjustment module to adaptively adjust the pulse stimulation parameters according to the tremor peak value.

[0125] The peak value calculation module is used to calculate the peak-to-peak value of the tremor when the tremor signal flag Flag is 1.

[0126] The pulse stimulation parameter adjustment module starts the pulse stimulation function and adaptively adjusts the pulse stimulation parameters according to the peak-to-peak value of the tremor.

[0127] As shown in FIG2 , the method for the above-mentioned adaptive tremor determination and stimulation pulse parameter adjustment system based on joint features to perform adaptive tremor determination and stimulation pulse parameter adjustment based on joint features includes steps S1-S3:

[0128] Step S1: Use an accelerometer to collect patient data in real time at a certain sampling frequency, and determine whether the tremor signal flag Flag is 1.

[0129] An accelerometer is used to collect patient data in real time at a certain sampling frequency Fs. The data is three channels DataX, DataY, and DataZ. For example, Figure 3 As shown, the sampling frequency includes but is not limited to 50, 100, 150, 200, 250, 300, 350, 400, where the typical value Fs=100. Each time a certain amount of data is collected, it is processed once, and the amount of data processed each time is 2 n The number of sampling points includes but is not limited to 128, 256, 512, 1024, and 2048. The typical value here is that 256 data points are collected as one frame.

[0130] When the tremor signal flag Flag is not equal to 1, the process goes to step S2. When the tremor signal flag Flag is determined to be 1, the process goes directly to step S3.

[0131] Step S2: When the tremor signal flag Flag is not equal to 1, the collected patient data is processed to obtain time domain data and frequency domain data, and adaptive tremor judgment is performed based on the joint characteristics of the time domain data and the frequency domain data. When it is judged to be a tremor signal, the tremor signal flag Flag is set to 1, and the tremor peak-to-peak value is calculated.

[0132] (1) When the number of processed frames is less than or equal to the preset number of learning frames, it is the adaptive tremor threshold learning stage, and the tremor signal is determined according to the following steps:

[0133] Step S2.1: pre-process the three-channel data DataX, DataY, and DataZ, and obtain the data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively.

[0134] Here, the data is preprocessed, taking the X channel as an example, and the other two channels are processed in the same way. DataX is passed through a high-pass filter (preferably, the cutoff frequency is 1 Hz) to obtain data DataX_HP, wherein the filter can be an IIR or FIR filter.

[0135] Step S2.2: Let DataX_HP, DataY_HP, and DataZ_HP pass through a bandpass filter (preferably, the cutoff frequency is 4 Hz-12 Hz) respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP.

[0136] Step S2.3: Calculate and count the mean values ​​of the data of the three channels after the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the means are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step. The threshold selection needs to select a suitable value according to the data form of the accelerometer, including but not limited to 100, 400, 600, 800, 1000..., 3000, and the typical value here is 1000.

[0137] Step S2.4: Compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data.

[0138] Step S2.5: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data, the current data is the peak value.

[0139] Statistically analyze the peaks in the tremor channel data. The specific peak judgment method is as follows. Assume that the current is the data of channel X, the current data is x(n), the previous data is x(n - 1), and the next data is x(n + 1). When x(n - 1) < x(n) and x(n) > x(n + 1), it is a peak.

[0140] Step S2.6: Based on the number of sampling points of the frame data, the sampling frequency, and the known frequency range boundaries of essential tremor, calculate the corresponding peak number range as:

[0141] The lowest critical value = (the number of sampling points of the frame data / the sampling frequency) × the lowest frequency of essential tremor,

[0142] The highest critical value = (the number of sampling points of the frame data / the sampling frequency) × the highest frequency of essential tremor;

[0143] When the peaks statistically counted in the tremor channel are within this numerical range, proceed to the next step; otherwise, stop processing.

[0144] For example, the frame data has 256 points and the sampling frequency is 100 Hz. The frequency of essential tremor is 4 - 12 Hz, and Parkinson's disease is also within this range. Therefore, select 4 - 12 Hz as the range boundaries to calculate the corresponding peak number range. The method is as follows: (256 / 100) × 4 is the lower limit of the statistically counted peak number, and (256 / 100) × 12 is the upper limit. When the peaks statistically counted in the tremor channel are within this numerical range, proceed to the next step; otherwise, stop processing.

[0145] Step S2.7: If the judgment passes, transform the time-domain data of the tremor channel into frequency-domain data.

[0146] To transform the time-domain data DataX_BP of the tremor channel into the frequency domain, common methods such as Fourier transform or Laplace transform can be used. Here, the fast Fourier transform is used to enter the frequency domain. Assume that channel X is the tremor channel, and the transformed data is FFT_X.

[0147] Step S2.8: Calculate the spectral amplitude of the frequency-domain data. The frequency-domain data is complex. Square the real and imaginary part data respectively, add them together, and finally take the square root to obtain the spectral amplitude.

[0148] Specifically, calculate the spectral amplitude of the FFT_X data. FFT_X is complex. Square the real and imaginary part data respectively, add them together, and finally take the square root to obtain the spectral amplitude AMP_X.

[0149] Step S2.9: Find the spectral line frequency corresponding to the maximum spectral amplitude. This frequency is the corresponding tremor frequency. When the tremor frequency is within the known frequency range boundaries of essential tremor, proceed to the next step; otherwise, stop processing.

[0150] Find out the frequency of the spectrum line corresponding to the maximum spectrum amplitude, which is the corresponding tremor frequency F. When the tremor frequency F is between 4 and 12 Hz, proceed to the next step, otherwise do not continue processing.

[0151] For example, the calculation result of the tremor frequency is shown in FIG4 .

[0152] Step S2.10: Add the spectral amplitude data corresponding to the spectral lines within the known essential tremor frequency range to obtain the tremor spectrum amplitude, and at the same time add the spectral amplitudes corresponding to all spectral lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel.

[0153] For example, the AMP_X data corresponding to the spectrum lines between 4 and 12 Hz are added to obtain the tremor spectrum amplitude Tremor_AMP, and at the same time, the AMP_X corresponding to all spectrum lines of the tremor channel are added to obtain the total amplitude of the tremor channel Channel_AMP, and the ratio Ratio of Tremor_AMP to Channel_AMP is calculated.

[0154] Step S2.11: Determine whether the ratio is greater than a threshold value. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored.

[0155] The initial value of the threshold setting is determined according to the accelerometer data format, and the typical value here is 400.

[0156] Step S2.12: If it is determined to be a tremor, the estimated tremor peak value is calculated, and the tremor flag Flag is set to 1, indicating that it has been determined to be a tremor signal;

[0157] The peak value calculation formula is:

[0158] Peak D pp =0.25×acceleration×frequency

[0159] Where acceleration is the mean value calculated from the accelerometer data of the time-domain tremor channel. If it is the X channel, it is Mean_X, and frequency is the tremor frequency F. Frequency is the tremor frequency.

[0160] This value will be used later to adjust the intensity of the stimulation pulse. At the same time, the tremor flag is set to 1, indicating that it has been determined as a tremor signal.

[0161] Step S2.13: When the number of processed frames = the preset number of learning frames, calculate the mean of the numerical values ​​counted in the above step S2.3, the tremor frequency counted in step S2.9, the ratio counted in step S2.10 and the mean of the peak values ​​counted in step S2.12.

[0162] The above is the tremor judgment method in the adaptive tremor threshold learning stage. When the number of processing frames is ≤ the preset number of learning frames, the tremor signal is judged according to the above steps, and the currently calculated values ​​are counted at each judgment threshold, such as the mean value counted in step S2.3, the tremor frequency counted in step S2.9, the ratio counted in step S2.10, and the peak value counted in step S2.12. When the number of processing frames = the preset number of learning frames, the mean of the above counted values ​​is calculated.

[0163] (2) When the number of processed frames is greater than the preset number of learning frames, it is the stage of determining the adaptive tremor threshold. The threshold is continuously updated according to the preset number of learning frames. The updating method is the same as when the number of processed frames is less than or equal to the preset number of learning frames. When the preset number of learning frames is not met, the data that needs to be updated is counted. When the number of processed frames is equal to the preset number of learning frames, the mean is calculated and the judgment threshold is updated. The adaptive tremor threshold determination stage judges the tremor signal according to the following steps:

[0164] Step S2.14: pre-process the three-channel data DataX, DataY, and DataZ, and obtain data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively;

[0165] Step S2.15: Let DataX_HP, DataY_HP, and DataZ_HP pass through bandpass filters respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP;

[0166] Step S2.16: Calculate and count the mean values ​​of the data of the three channels after passing through the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the specific ratio values ​​of the mean values ​​are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step. The ratio value is a value between 0 and 1.

[0167] It is worth noting that the threshold in step S2.3 is no longer used directly here. The threshold is changed to a certain proportion of the statistical mean (that is, a specific proportion of the data mean). The proportion is selected between 0 and 1 according to the actual situation. The typical value here is 0.7.

[0168] Step S2.17: compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data;

[0169] Step S2.18: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data, the current data is the peak value.

[0170] Step S2.19: Based on the number of frame data sampling points, the sampling frequency and the known essential tremor frequency range, the corresponding peak number range is calculated as:

[0171] The lowest critical value = (number of frame data sampling points / sampling frequency) × the lowest frequency of essential tremor,

[0172] The highest critical value = (number of frame data sampling points / sampling frequency) × the highest frequency of essential tremor;

[0173] When the peak value of the tremor channel statistics is within the value range, the next step is carried out, otherwise the processing is not continued;

[0174] Step S2.20: If the judgment is passed, transform the tremor channel time domain data into frequency domain data;

[0175] Step S2.21: Calculate the spectrum amplitude of the frequency domain data. The frequency domain data is a complex number. Square the real part and the imaginary part of the data respectively and then add them together. Finally, take the square root to obtain the spectrum amplitude.

[0176] Step S2.22: Find the spectral line frequency corresponding to the maximum spectral amplitude, which is the corresponding tremor frequency. When the value centered on the statistical mean tremor frequency and allowing less frequency deviation is within the known essential tremor frequency range, proceed to the next step, otherwise no further processing will be performed.

[0177] It is worth noting that the judgment threshold in step S2.9 is no longer used directly here. The threshold is changed to a value centered on the statistical mean tremor frequency F, which allows less frequency deviation. For example, if the statistical mean tremor frequency is 5Hz, the allowed frequency deviation is 1Hz, and the tremor signals between 4Hz and 6Hz will pass the judgment. The difficulty of passing the tremor judgment is inversely proportional to the allowed frequency deviation, and the typical value here is 3Hz.

[0178] Step S2.23: Add the spectral amplitude data corresponding to the spectral lines within the known essential tremor frequency range to obtain the tremor spectrum amplitude. At the same time, add the spectral amplitudes corresponding to all spectral lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel.

[0179] Step S2.24: Determine whether a specific ratio value of the statistical mean ratio value is greater than a threshold value, and the ratio value is selected between 0 and 1. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored.

[0180] It is worth noting that the threshold value determined in step S2.10 is no longer used directly here. The threshold value is changed to a certain ratio of the statistical mean (i.e., a specific ratio of the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel). The ratio value is selected between 0 and 1 according to the actual situation. The typical value here is 0.7.

[0181] Step S2.25: If it is determined to be a tremor, the estimated tremor peak value is calculated, and the tremor flag Flag is set to 1, indicating that it has been determined to be a tremor signal;

[0182] The peak value calculation formula is:

[0183] Peak value = 0.25 × acceleration × frequency

[0184] The acceleration is the data mean after the bandpass filter calculated from the accelerometer data of the time domain tremor channel, and the frequency is the tremor frequency.

[0185] At the same time, you can choose tremor assessment. If this function is turned on, the subsequent data will be directly regarded as valid tremor data without tremor signal judgment. The direct processing method is the same as the method of adaptive learning to calculate the feature threshold. When the number of processed frames = the preset number of learning frames, the mean is calculated and the judgment threshold is updated.

[0186] The above is the tremor judgment part, and the following is the stimulation pulse adjustment part.

[0187] Step S3: Start the pulse stimulation function and adaptively adjust the pulse stimulation parameters according to the peak-to-peak value of the tremor.

[0188] When the tremor signal Flag = 1, it means that the current frame signal is a tremor signal, and the pulse stimulation function needs to be started. The initial value of the pulse stimulation parameter is the lowest intensity Current = 1. This value does not directly represent the milliampere value, but only has a fixed mapping relationship with the milliampere number. Different mapping relationships need to be changed according to the product and application scenario. Here, the highest current intensity is 10mA, the maximum number of gears is 50, and each gear is 0.2mA. When Current < 20, the current gear is adjusted first. When Current ≥ 20, the pulse cluster modulation frequency is adjusted first, and the frequency range is 0 to 200Hz. The specific strategies are as follows.

[0189] By peak D pp The ratio of the change to the threshold value indicates the trend of the tremor. The initial threshold value is set to different values ​​according to the different product output data. The typical value here is 700, and the subsequent threshold value will be continuously updated. The calculation formula of the trend is as follows:

[0190] Trend = (peak-to-peak value of tremor - threshold) / threshold

[0191] The initial value of the threshold is set to different values ​​according to different product output data, and the subsequent threshold will be continuously updated;

[0192] If the Trend calculation result is positive, it means that the tremor is severe, and if it is negative, it means that the tremor has been alleviated.

[0193] For example, the pulse stimulation parameter adjustment strategy is as follows:

[0194] When Current<20 and Trend>0, the current gear is +1;

[0195] When Current<20 and Trend<0, the current gear is -1;

[0196] When 50>Current≥20 and Trend>0.3, the current level is +1. If Current=50, frequency<200, the stimulation frequency is +10;

[0197] When frequency is less than 200, the stimulation frequency is increased by 10. If frequency = 200 and 50 > Current, the current level is increased by 1 and the stimulation frequency is adjusted to 10;

[0198] When Trend≤|0.3|, remain unchanged;

[0199] When the stimulation frequency is greater than 10 and Trend ≤ -0.3, the stimulation frequency is -10. If the frequency is 0 and Current is greater than 0, the current level is -1 and the stimulation frequency is adjusted to 200.

[0200] It should be noted that the embodiments of the present invention have better practicability and do not impose any form of limitation on the present invention. Any technician familiar with the field may use the technical content disclosed above to change or modify it into an equivalent effective embodiment. However, any modification or equivalent changes and modifications made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solution of the present invention are still within the scope of the technical solution of the present invention.

Claims

1. An adaptive tremor determination and stimulation pulse parameter adjustment method based on joint features, characterized in that: include: Step S1: using an accelerometer to collect patient data in real time at a certain sampling frequency, and determining whether the tremor signal flag Flag is 1; Step S2: when the tremor signal flag Flag is not equal to 1, the collected patient data is processed to obtain time domain data and frequency domain data, and adaptive tremor judgment is performed based on the joint features of the time domain data and the frequency domain data. When it is judged to be a tremor signal, the tremor signal flag Flag is set to 1, and the tremor peak-to-peak value is calculated; Step S3: Start the pulse stimulation function and adaptively adjust the pulse stimulation parameters according to the peak-to-peak value of the tremor.

2. The method for adaptive tremor determination and stimulation pulse parameter adjustment based on joint features according to claim 1, characterized in that: In step S1, when it is determined that the vibration signal flag Flag is 1, the process directly proceeds to step S3.

3. The method for adaptive tremor determination and stimulation pulse parameter adjustment based on joint features as claimed in claim 1, characterized in that: After step S2, the method further includes: starting a tremor assessment function, directly regarding subsequent data as valid tremor data, and no longer performing tremor signal determination.

4. The method for adaptive tremor determination and stimulation pulse parameter adjustment based on joint features as claimed in claim 1, characterized in that: In step S1, the collected patient data is three-channel data DataX, DataY, and DataZ. Each time a certain amount of data is collected and processed once, it is a frame. The amount of data processed each time is 2 n The number of sampling points.

5. The method for adaptive tremor determination and stimulation pulse parameter adjustment based on joint features as claimed in claim 4, characterized in that: In step S2, (1) When the number of processed frames is less than or equal to the preset number of learning frames, it is the adaptive tremor threshold learning stage, and the tremor signal is determined according to the following steps: Step S2.1: pre-process the three-channel data DataX, DataY, and DataZ, and obtain data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively; Step S2.2: Let DataX_HP, DataY_HP, and DataZ_HP pass through bandpass filters respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP; Step S2.3: Calculate and count the mean values ​​of the data of the three channels after passing through the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the means are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step. Step S2.4: compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data; Step S2.5: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data, the current data is the peak value. Step S2.6: Based on the number of frame data sampling points, the sampling frequency and the known frequency range of essential tremor, the corresponding peak number range is calculated as: The lowest critical value = (number of frame data sampling points / sampling frequency) × the lowest frequency of essential tremor, The highest critical value = (number of frame data sampling points / sampling frequency) × the highest frequency of essential tremor; When the peak value of the tremor channel statistics is within the value range, the next step is carried out, otherwise the processing is not continued; Step S2.7: If the judgment is passed, transform the tremor channel time domain data into frequency domain data; Step S2.8: Calculate the spectrum amplitude of the frequency domain data. The frequency domain data is a complex number. The real part and the imaginary part of the data are squared and then added. Finally, the square root is taken to obtain the spectrum amplitude. Step S2.9: Find the frequency of the spectrum line corresponding to the maximum spectrum amplitude, which is the corresponding tremor frequency. When the tremor frequency is within the known essential tremor frequency range, proceed to the next step, otherwise, do not proceed further; Step S2.10: Add the spectrum amplitude data of the spectrum lines corresponding to the known essential tremor frequency range to obtain the tremor spectrum amplitude, and at the same time add the spectrum amplitudes corresponding to all the spectrum lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel; Step S2.11: Determine whether the ratio is greater than a threshold value. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored. Step S2.12: If it is determined to be a tremor, the estimated tremor peak value is calculated, and the tremor flag Flag is set to 1, indicating that it has been determined to be a tremor signal; The peak value calculation formula is: Peak value = 0.25 × acceleration × frequency Wherein, acceleration is the data mean after bandpass filter calculated from the accelerometer data of the time domain tremor channel, and frequency is the tremor frequency; Step S2.13: When the number of processed frames = the preset number of learning frames, calculate the mean of the numerical values ​​counted in the above step S2.3, the tremor frequency counted in step S2.9, the ratio counted in step S2.10 and the mean of the peak values ​​counted in step S2.12; (2) When the number of processed frames is greater than the preset number of learning frames, it is the stage of determining the adaptive tremor threshold. The threshold is continuously updated according to the preset number of learning frames. The updating method is the same as when the number of processed frames is less than or equal to the preset number of learning frames. When the preset number of learning frames is not met, the data that needs to be updated is counted. When the number of processed frames is equal to the preset number of learning frames, the mean is calculated and the judgment threshold is updated. The adaptive tremor threshold determination stage judges the tremor signal according to the following steps: Step S2.14: pre-process the three-channel data DataX, DataY, and DataZ, and obtain data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively; Step S2.15: Let DataX_HP, DataY_HP, and DataZ_HP pass through bandpass filters respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP; Step S2.16: Calculate and count the mean values ​​of the data of the three channels after passing through the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the specific ratio values ​​of the mean values ​​are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step. The ratio value is a value between 0 and 1. Step S2.17: compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data; Step S2.18: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data, the current data is the peak value. Step S2.19: Based on the number of frame data sampling points, the sampling frequency and the known essential tremor frequency range, the corresponding peak number range is calculated as: The lowest critical value = (number of frame data sampling points / sampling frequency) × the lowest frequency of essential tremor, The highest critical value = (number of frame data sampling points / sampling frequency) × the highest frequency of essential tremor; When the peak value of the tremor channel statistics is within the value range, the next step is carried out, otherwise the processing is not continued; Step S2.20: If the judgment is passed, transform the tremor channel time domain data into frequency domain data; Step S2.21: Calculate the spectrum amplitude of the frequency domain data. The frequency domain data is a complex number. Square the real part and the imaginary part of the data respectively and then add them together. Finally, take the square root to obtain the spectrum amplitude. Step S2.22: Find the spectral line frequency corresponding to the maximum spectral amplitude, which is the corresponding tremor frequency. When the value of the tremor frequency with the statistical mean as the center and the value of the lesser frequency deviation allowed is within the known essential tremor frequency range, proceed to the next step, otherwise, do not continue processing; Step S2.23: Add the spectrum amplitude data of the spectrum lines corresponding to the known essential tremor frequency range to obtain the tremor spectrum amplitude, and at the same time add the spectrum amplitudes corresponding to all the spectrum lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel; Step S2.24: Determine whether a specific ratio value of the statistical mean ratio value is greater than a threshold value, and the ratio value is selected between 0 and 1. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored. Step S2.25: If it is determined to be a tremor, the estimated tremor peak value is calculated, and the tremor flag Flag is set to 1, indicating that it has been determined to be a tremor signal; The peak value calculation formula is: Peak value = 0.25 × acceleration × frequency The acceleration is the data mean after the bandpass filter calculated from the accelerometer data of the time domain tremor channel, and the frequency is the tremor frequency.

6. The method for adaptive tremor determination and stimulation pulse parameter adjustment based on joint features as claimed in claim 5, characterized in that: In step S3, adaptively adjusting the pulse stimulation parameters according to the tremor peak value includes the following steps: The change trend of tremor is expressed by the ratio of the peak value to the threshold value. The calculation formula is as follows: Trend = (peak-to-peak value of tremor - threshold) / threshold The initial value of the threshold is set to different values ​​according to different product output data, and the subsequent threshold will be continuously updated; If the Trend calculation result is positive, it means that the tremor is severe, and if it is negative, it means that the tremor is alleviated. The pulse stimulation parameters are adaptively adjusted according to the Trend calculation result.

7. The method for adaptive tremor determination and stimulation pulse parameter adjustment based on joint features as claimed in claim 6, characterized in that: The initial value of the pulse stimulation parameter is the lowest intensity Current=1. This value does not directly represent the mA value, but has a fixed mapping relationship with the mA value. Different mapping relationships need to be changed according to the product and application scenario. Here, the highest current intensity is 10mA, the maximum number of gears is 50, and each gear is 0.2mA; when Current<20, the current gear is adjusted first; when Current≥20, the pulse cluster modulation frequency is adjusted first, and the frequency range is 0~200Hz; The specific strategy for adaptively adjusting pulse stimulation parameters according to the peak tremor value is as follows: When Current<20 and Trend>0, the current gear is +1; When Current<20 and Trend<0, the current gear is -1; When 50>Current≥20 and Trend>0.3, the current level is +1; If Current=50, Frequency<200, stimulation frequency+10; When the frequency is less than 200, the stimulation frequency is +10; If frequency = 200 and 50>Current, the current level is increased by 1 and the stimulation frequency is adjusted to 10; When Trend≤|0.3|, remain unchanged; When the stimulation frequency is > 10 and Trend ≤ -0.3, the stimulation frequency is -10; If Frequency = 0, and Current > 0, the current level is -1, and the stimulation frequency is adjusted to 200.

8. An adaptive tremor determination and stimulation pulse parameter adjustment system based on joint features, characterized in that: The method for adaptive tremor determination and stimulation pulse parameter adjustment based on joint features as claimed in any one of claims 1 to 7 comprises: A data acquisition module, wherein the data acquisition module uses an accelerometer to collect patient data in real time at a certain sampling frequency; A tremor flag determination module, wherein the tremor flag determination module is used to determine whether a tremor signal flag Flag is 1; An adaptive tremor determination module, wherein the adaptive tremor determination and peak value calculation module is used to process the collected patient data to obtain time domain data and frequency domain data when the tremor signal flag Flag is not equal to 1, and to perform adaptive tremor determination based on the joint features of the time domain data and the frequency domain data, and when it is determined to be a tremor signal, set the tremor signal flag Flag to 1; A peak value calculation module, wherein the peak value calculation module is used to calculate the peak value of the tremor when the tremor signal flag Flag is 1; The pulse stimulation parameter adjustment module starts the pulse stimulation function and adaptively adjusts the pulse stimulation parameters according to the peak-to-peak value of the tremor.

9. The adaptive tremor determination and stimulation pulse parameter adjustment system based on joint features as claimed in claim 8, characterized in that: When the tremor flag determination module determines that the tremor signal flag Flag is 1, the peak value calculation module is directly called to calculate the tremor peak-to-peak value, and then the pulse stimulation parameter adjustment module is called to adaptively adjust the pulse stimulation parameters according to the tremor peak-to-peak value.

10. The adaptive tremor determination and stimulation pulse parameter adjustment system based on joint features as claimed in claim 8, characterized in that: The patient data collected by the data acquisition module is three-channel data DataX, DataY, and DataZ. Each time a certain amount of data is collected and processed, it is called a frame. The amount of data processed each time is 2 n The number of sampling points; The adaptive tremor determination module is used to: (1) When the number of processed frames is less than or equal to the preset number of learning frames, it is the adaptive tremor threshold learning stage, and the tremor signal is determined according to the following steps: Step S2.1: pre-process the three-channel data DataX, DataY, and DataZ, and obtain data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively; Step S2.2: Let DataX_HP, DataY_HP, and DataZ_HP pass through bandpass filters respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP; Step S2.3: Calculate and count the mean values ​​of the data of the three channels after passing through the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the means are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step. Step S2.4: compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data; Step S2.5: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data, the current data is the peak value. Step S2.6: Based on the number of frame data sampling points, the sampling frequency and the known frequency range of essential tremor, the corresponding peak number range is calculated as: The lowest critical value = (number of frame data sampling points / sampling frequency) × the lowest frequency of essential tremor, The highest critical value = (number of frame data sampling points / sampling frequency) × the highest frequency of essential tremor; When the peak value of the tremor channel statistics is within the value range, the next step is carried out, otherwise the processing is not continued; Step S2.7: If the judgment is passed, transform the tremor channel time domain data into frequency domain data; Step S2.8: Calculate the spectrum amplitude of the frequency domain data. The frequency domain data is a complex number. The real part and the imaginary part of the data are squared and then added. Finally, the square root is taken to obtain the spectrum amplitude. Step S2.9: Find the frequency of the spectrum line corresponding to the maximum spectrum amplitude, which is the corresponding tremor frequency. When the tremor frequency is within the known essential tremor frequency range, proceed to the next step, otherwise, do not proceed further; Step S2.10: Add the spectrum amplitude data of the spectrum lines corresponding to the known essential tremor frequency range to obtain the tremor spectrum amplitude, and at the same time add the spectrum amplitudes corresponding to all the spectrum lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel; Step S2.11: Determine whether the ratio is greater than a threshold value. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored. (2) When the number of processed frames is greater than the preset number of learning frames, it is the stage of determining the adaptive tremor threshold. The threshold is continuously updated according to the preset number of learning frames. The updating method is the same as when the number of processed frames is less than or equal to the preset number of learning frames. When the preset number of learning frames is not met, the data that needs to be updated is counted. When the number of processed frames is equal to the preset number of learning frames, the mean is calculated and the judgment threshold is updated. The adaptive tremor threshold determination stage determines the tremor signal according to the following steps: Step S2.14: pre-process the three-channel data DataX, DataY, and DataZ, and obtain data DataX_HP, DataY_HP, and DataZ_HP through high-pass filters respectively; Step S2.15: Let DataX_HP, DataY_HP, and DataZ_HP pass through bandpass filters respectively to obtain time domain data DataX_BP, DataY_BP, and DataZ_BP; Step S2.16: Calculate and count the mean values ​​of the data of the three channels after passing through the bandpass filter. Mean_X, Mean_Y, and Mean_Z are the means of X, Y, and Z respectively. When the specific ratio values ​​of the mean values ​​are all less than a certain threshold, it is directly judged that it is not a valid signal and no further processing is performed. Otherwise, proceed to the next step. The ratio value is a value between 0 and 1. Step S2.17: compare the three channel means Mean_X, Mean_Y, and Mean_Z, and select the channel data corresponding to the one with the largest mean as the tremor channel data; Step S2.18: Count the peak values ​​of the tremor channel data. If the current data is greater than the previous data and the next data, the current data is the peak value. Step S2.19: Based on the number of frame data sampling points, the sampling frequency and the known essential tremor frequency range, the corresponding peak number range is calculated as: The lowest critical value = (number of frame data sampling points / sampling frequency) × the lowest frequency of essential tremor, The highest critical value = (number of frame data sampling points / sampling frequency) × the highest frequency of essential tremor; When the peak value of the tremor channel statistics is within the value range, the next step is carried out, otherwise the processing is not continued; Step S2.20: If the judgment is passed, transform the tremor channel time domain data into frequency domain data; Step S2.21: Calculate the spectrum amplitude of the frequency domain data. The frequency domain data is a complex number. Square the real part and the imaginary part of the data respectively and then add them together. Finally, take the square root to obtain the spectrum amplitude. Step S2.22: Find the spectral line frequency corresponding to the maximum spectral amplitude, which is the corresponding tremor frequency. When the value of the tremor frequency with the statistical mean as the center and the value of the lesser frequency deviation allowed is within the known essential tremor frequency range, proceed to the next step, otherwise, do not continue processing; Step S2.23: Add the spectrum amplitude data of the spectrum lines corresponding to the known essential tremor frequency range to obtain the tremor spectrum amplitude, and at the same time add the spectrum amplitudes corresponding to all the spectrum lines of the tremor channel to obtain the total amplitude of the tremor channel, and calculate the ratio of the tremor spectrum amplitude to the total amplitude of the tremor channel; Step S2.24: Determine whether a specific ratio value of the statistical mean ratio value is greater than a threshold value, and the ratio value is selected between 0 and 1. If it is greater than the threshold value, it is determined to be tremor. If it is less than the threshold value, it is determined not to be tremor and is ignored. The peak value calculation module is used for: if it is determined to be a tremor, the peak value calculation module calculates the estimated tremor peak value, and at the same time the tremor flag Flag is set to 1, indicating that it has been determined to be a tremor signal; The peak value calculation formula is: Peak value = 0.25 × acceleration × frequency Wherein, acceleration is the data mean after bandpass filter calculated from the accelerometer data of the time domain tremor channel, and frequency is the tremor frequency; The pulse stimulation parameter adjustment module is used to represent the change trend of tremor by the change ratio of the peak value to the threshold value, and the calculation formula is as follows: Trend = (peak-to-peak value of tremor - threshold) / threshold The initial value of the threshold is set to different values ​​according to different product output data, and the subsequent threshold will be continuously updated; If the Trend calculation result is positive, it means that the tremor is severe, and if it is negative, it means that the tremor is alleviated. The pulse stimulation parameters are adaptively adjusted according to the Trend calculation result.

Citation Information

Patent Citations

  • Parkinson static tremor suppression system based on neuromuscular electrical stimulation

    CN117085244A

  • Control method of tremor treatment equipment, tremor treatment equipment and tremor treatment system

    CN117679641A

  • Multi-modal acquisition and processing method and system for pathological tremor signals

    CN117694876A

  • Control method of tremor treatment device, wearable tremor treatment device, tremor treatment system and computer readable storage medium

    CN118022172A

  • Wearable device for inhibiting Parkinson resting tremor based on functional electrical stimulation

    CN118477259A

Cited By

  • Method for starting silicon resonance accelerometer based on pseudo-random number principle

    CN120908478A