在信号调理中加入Teager-Kaiser能量算子(TKEO)提高了流行的肌电图(EMG)发病检测方法的准确性研究(Matlab代码实现)
Kaiser 1993),测量由单个时变频率组成的信号的瞬时能量变化。与其他起始检测方法相比,TKEO输出的一个优点是计算的能量来自信号的瞬时幅度和瞬时频率。因此,TKEO可以提高我们分析肌肉活动的能力,因为收缩过程中肌肉细胞膜的去极化会产生信号幅度和频率的快速波动。Teager-Kaiser 算子的离散版本根据以下公式计算: y[n] = x[n]^{2/m} - (x[n-M]*x[n+M])
👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
准确识别肌肉活动的开始是人体运动生物力学分析的重要因素。在信号调理中加入Teager-Kaiser能量算子(TKEO)提高了流行的肌电图(EMG)发病检测方法的准确性。 非线性TKEO,由凯撒引入(凯撒1990;Kaiser 1993),测量由单个时变频率组成的信号的瞬时能量变化。 与其他起始检测方法相比,TKEO输出的一个优点是计算的能量来自信号的瞬时幅度和瞬时频率。因此,TKEO可以提高我们分析肌肉活动的能力,因为收缩过程中肌肉细胞膜的去极化会产生信号幅度和频率的快速波动。因此,TKEO强调了运动单元动作电位、幅度和频率的两个特性,从而改善了SNR,理论上开始检测变得更加准确。 Teager-Kaiser 算子的离散版本根据以下公式计算: y[n] = x[n]^{2/m} - (x[n-M]*x[n+M])^{1/m} m 是指数参数,M 是滞后参数,对于常规运算符,它们通常都等于 1。
Accurate identification of the onset of muscle activity is an important element in the biomechanical analysis of human movement. Inclusion of the Teager–Kaiser energy operator (TKEO) in signal conditioning increases the accuracy of popular electromyography (EMG) onset detection methods.
The non-linear TKEO, introduced by Kaiser (Kaiser 1990; Kaiser 1993), measures instantaneous energy changes of signals composed of a single time-varying frequency.
One advantage of TKEO output, compared with other onset detection methods, is that the calculated energy is derived from instantaneous amplitude and instantaneous frequency of the signal. Therefore, TKEO may improve our ability to analyze muscle activity as depolarization of the muscle cell membrane during contraction produces rapid fluctuations in signal’s amplitude and frequency. TKEO, thus, emphasizes both properties of motor unit action potentials, amplitude and frequency, whereby SNR is improved and onset detection, theoretically, becomes more accurate.
The discrete version of the Teager-Kaiser operator is computed according to:
y[n] = x[n]^{2/m} - (x[n-M]*x[n+M])^{1/m}
with m the exponent parameter and M the lag parameter which both are usually equal to 1 for a conventional operator.
📚2 运行结果
部分代码:
%% Plot
emgnorm=emg./max(emg); %normalize original emg signal
emgfiltnorm=emgfilt./max(emgfilt); %normalize filtered emg signal
subplot(211)
plot(emgtime,emgnorm,'k')
hold on
plot(emgtime,emgfiltnorm,'r')
legend('Original','Filtered')
title('EMG energy (TKEO)')
xlabel('Time (ms)')
ylabel('Amplitude')
subplot(212)
plot(emgtime,emgZ,'k') %plot zscore of original emg signal
hold on
plot(emgtime,emgfiltZ,'r') %plot zscore of filtered emg signal
legend('Original','Filtered')
title('Zscore of EMG')
xlabel('Time (ms)')
ylabel('Zscore')
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
[1]帅国彬,胡伟波.基于新型能量算子和多尺度熵的癫痫自动检测[J].计算机应用与软件,2023,40(03):137-141.
[2]黄梓幸,宋冬利,董俭雄,田光荣.基于改进VMD和Teager能量算子解调的轴箱轴承故障诊断方法[J].机械,2022,49(12):39-47.
🌈4 Matlab代码实现
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)