自学内容网 自学内容网

基于Teager-Kaiser能量算子的肌电信号降噪方法(MATLAB)

Teager-Kaiser能量算子是一种非线性算子,它能有效提取信号的瞬时能量,对信号瞬时变化具有良好的时间分辨率。Teager-Kaiser能量算子只需信号三个采样点,即可快速跟踪信号的幅值和角频率变化,计算实现简单、运算量小。

clc
clear all 
close all

load emg4TKEO.mat %import data

%% Apply TKEO
emgfilt=emg; %initialize filtered signal
for i=2:length(emgfilt)-1 %do not consider first and last time points to avoid edge effects
    emgfilt(i)=emg(i)^2-emg(i-1)*emg(i+1); %TKEO
end

%% Convert to zscore
time0=dsearchn(emgtime',0); %find timepoint 0
emgZ=(emg-mean(emg(1:time0)))/std(emg(1:time0)); %zscore of original emg signal
emgfiltZ=(emgfilt-mean(emgfilt(1:time0)))/std(emgfilt(1:time0)); %zscore of filtered emg signal

%% Plot
emgnorm=emg./max(emg); %normalize original emg signal
emgfiltnorm=emgfilt./max(emgfilt); %no

原文地址:https://blog.csdn.net/weixin_39402231/article/details/140154534

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!