sEMG的时频域特征
本篇为《信号处理》系列博客的第十四篇,该系列博客主要记录信号处理相关知识的学习过程和自己的理解,方便以后查阅。
sEMG的时频域特征
- 小波包系数最大值(MWPC)
- 小波包系数能量(EWPC)
- 特征提取总程序
小波包系数最大值(MWPC)
%% 小波包系数能量(EWPC)
for ch_i = 1:column/2nodes=[7;8;9;10;11;12;13;14]; %第3层的节点号ord=wpfrqord(nodes); %小波包系数重排,ord是重排后小波包系数索引构成的矩阵 如3层分解的[1;2;4;3;7;8;6;5]nodes_ord=nodes(ord); %重排后的小波系数sEMG_wp=wpdec(action_signal(:,ch_i), level, 'db2');for fn_i = 1:2^levelcfs3_i = wpcoef(sEMG_wp, nodes_ord(fn_i));EWPC_fn(fn_i) = abs(log10(sum(abs(cfs3_i).^2)/length(cfs3_i)));endEWPC(ch_i, :) = EWPC_fn;
end
小波包系数能量(EWPC)
%% 小波系数显示
nodes=[7;8;9;10;11;12;13;14]; %第3层的节点号
ord=wpfrqord(nodes); %小波包系数重排,ord是重排后小波包系数索引构成的矩阵 如3层分解的[1;2;4;3;7;8;6;5]
nodes_ord=nodes(ord); %重排后的小波系数
sEMG_wp=wpdec(action_signal(:,1), level, 'db2');
for fn_i = 1:2^levelcfs3_i = wpcoef(sEMG_wp, nodes_ord(fn_i));subplot(2,4,fn_i);plot(cfs3_i);title(['层数', num2str(3), ' 节点', num2str(fn_i), '的小波系数'])
end
特征提取总程序
%%% 时频域特征提取 %%%
clear;
clc;%% 读取数据 %%
% filename = '/home/al007/Matlab/聪姐论文程序/聪数据/放松/放松/放松数据/放松_Plot_and_Store_Rep_2.1.csv';
filename = '/home/al007/Matlab/聪姐论文程序/聪数据/肩屈曲总/肩屈曲数据/肩屈曲_Plot_and_Store_Rep_15.csv';
P=csvread(filename,1,0);%从第1行第0列开始读取数据
[row, column]=size(P);%获取数据维度大小
sEMG = zeros(row,8);
for ch_i = 2:2:columnsEMG(:,ch_i/2)=P(:,ch_i);%获取一个通道的肌电数据
end
sEMG_L=length(sEMG(:,1));%获取第一个通道的数据量%% 对信号进行IWD滤波 %%
for ch_i = 1:column/2[XD,CXD,LXD] = wden(sEMG(:, ch_i), 'heursure', 's', 'mln', 4, 'sym6');%对信号进行小波变换阈值去噪[C,L] = wavedec(XD, 5, 'sym6');%多级一维小波分解 改分解层数ca5 = appcoef(C,L,'sym6',5);%一维近似系数,计算一维信号的近似系数[cd1,cd2,cd3,cd4,cd5] = detcoef(C,L,[1,2,3,4,5]);%一维细节系数,获取小波分解的细节系数%利用数字滤波阈值 去除基线漂移 和 高频信号降噪%将第一层细节系数设置为0,进行高频信号降噪,将最后一层的近似系数设置为0,进行基线漂移的去除C5 = [zeros(size(ca5)); cd5; cd4; cd3; cd2; zeros(size(cd1))];sEMG(:, ch_i) = waverec(C5,L,'sym6');%多层次一维小波重构
end%% 变量定义 %%
channal_sum = 8;% 肌电采集的通道总数FrameLen = 256;% 的设置帧的长度,重叠窗处理使用
FrameInc = 32;% 的设置帧的步长,重叠窗处理使用channal_frame = [];% 通道上,分帧后,帧的数据,存储每个通道上重叠窗的帧信息level = 3;% 小波包分解层数
cfs3_i = 0;% 用于存储小波包分解第三层的小波系数MWPC = zeros(column/2, 2^level);% 存储每个通道上所有频段的小波包系数最大值
MWPC_fn = [];% 存储一个通道上所有频段的小波包系数最大值EWPC = zeros(column/2, 2^level);% 存储每个通道上所有频段的小波包系数能量
EWPC_fn = [];% 存储一个通道上所有频段的小波包系数能量%% 小波包系数最大值(MWPC)
for ch_i = 1:column/2nodes=[7;8;9;10;11;12;13;14]; %第3层的节点号ord=wpfrqord(nodes); %小波包系数重排,ord是重排后小波包系数索引构成的矩阵 如3层分解的[1;2;4;3;7;8;6;5]nodes_ord=nodes(ord); %重排后的小波系数sEMG_wp=wpdec(action_signal(:,ch_i), level, 'db2');for fn_i = 1:2^levelcfs3_i = wpcoef(sEMG_wp, nodes_ord(fn_i));MWPC_fn(fn_i) = abs(log10(max(abs(cfs3_i))));endMWPC(ch_i, :) = MWPC_fn;
end%% 小波包系数能量(EWPC)
for ch_i = 1:column/2nodes=[7;8;9;10;11;12;13;14]; %第3层的节点号ord=wpfrqord(nodes); %小波包系数重排,ord是重排后小波包系数索引构成的矩阵 如3层分解的[1;2;4;3;7;8;6;5]nodes_ord=nodes(ord); %重排后的小波系数sEMG_wp=wpdec(action_signal(:,ch_i), level, 'db2');for fn_i = 1:2^levelcfs3_i = wpcoef(sEMG_wp, nodes_ord(fn_i));EWPC_fn(fn_i) = abs(log10(sum(abs(cfs3_i).^2)/length(cfs3_i)));endEWPC(ch_i, :) = EWPC_fn;
end%% 小波系数显示
nodes=[7;8;9;10;11;12;13;14]; %第3层的节点号
ord=wpfrqord(nodes); %小波包系数重排,ord是重排后小波包系数索引构成的矩阵 如3层分解的[1;2;4;3;7;8;6;5]
nodes_ord=nodes(ord); %重排后的小波系数
sEMG_wp=wpdec(action_signal(:,1), level, 'db2');
for fn_i = 1:2^levelcfs3_i = wpcoef(sEMG_wp, nodes_ord(fn_i));subplot(2,4,fn_i);plot(cfs3_i);title(['层数', num2str(3), ' 节点', num2str(fn_i), '的小波系数'])
end
sEMG的时频域特征相关推荐
- 分解得到的时频域特征_【推荐文章】基于变分模态分解和广义Warblet变换的齿轮故障诊断...
<机械传动>2018年 第42卷 第7期 文章编号:1004-2539(2018)07-0157-05 DOI:10.16578/j.issn.1004.2539.2018.07.0 ...
- 时序信号的时域、频域、时-频域特征提取
文章目录 时域特征提取 频域特征提取 时-频域特征提取 参考资料 在面对工业中的传感器采集到的高维的信号,如振动信号,通常需要对数据进行统计特征提取,以进行降维.对于这类时序信号,常用的有时域.频域和 ...
- (论文加源码)基于时频域特征分析和SVM分类器的DEAP脑电信号情感状态识别(matlab代码)(四分类)
论文和源码见个人主页:https://download.csdn.net/download/qq_45874683/85069822 (论文加源码)(matlab代码)基于时频域特征分析和SVM分类器 ...
- matlab信号频域放大的含义,频域特征是什么意思 信号频域特征参数,如重心
信号频域特征参数,如重心频率.均方根频率是什么无论何时,请一定要相信:尽管耳边寒风呼啸,你的心灵总还有取暖的地方. 小编想使用matlab来对振动信号的频域特征参数进行提龋各位大神可以给一些每当小编考 ...
- 基于时频域统计特征提取的自然环境声音识别方法
Description 基于时频域统计特征提取的自然环境声音识别方法 技术领域 [0001] 本发明属于声音信号识别技术领域,尤其涉及一种基于时频域统计特征提取的自 然环境声音识别方法. 背景技术 [ ...
- 频域参数 matlab,基于MATLAB的语音信号时频域参数分析
22 科技广场 2007.9 基于MATLAB的语音信号时频域参数分析 the Character Analysis of Speech Signal with Time and Frequency ...
- 频域特征指标及其MATLAB代码实现(重心频率、均方频率、均方根频率、频率方差、频率标准差)
以前我们梳理过常用的有量纲时域特征指标和无量纲时域特征指标,其实特征提取方法中,一些频谱特征指标也是十分有用的. 下述频域特征指标是根据信号的功率谱求得的.在故障诊断或者其他应用场景下,可以与时域指标 ...
- matlab chirp函数模糊函数,8个OFDM-Chirp波形的时频域图及自(互)模糊函数图
8个OFDM-Chirp波形的时频域图及自(互)模糊函数图 matlab 2020-12-9 下载地址 https://www.codedown123.com/55093.html 8个正交OFDM- ...
- 信号时域频域特征公式
自用.1-11时域特征,12-24频域特征 [1]雷亚国,何正嘉,訾艳阳.基于混合智能新模型的故障诊断[J].机械工程学报,2008(07):112-117.
最新文章
- WMI技术介绍和应用——查询系统信息和补丁包信息
- 啥叫正则表达式(语法详解)
- JavaScript 技术篇-chrome浏览器读取剪切板命令document.execCommand(‘paste‘)返回false原因及解决方法
- cocos2d-x游戏实例(3)-获得地图索引
- pptv多屏互动服务怎么删除
- Python库glob作用分析
- 《Objective-C开发经典教程》
- java的package需要大写吗,java 数字转大写的小程序
- Windows PowerShell窗口下长ping+时间戳+记录log
- 汽车电子测试-软件测试
- 应用Matlab小波变换工具箱进行图像压缩
- oracle写一个全量刷新,Oracle物化视图定时全量刷新以致归档日志骤增
- 网站被腾讯停止访问人工服务器,网站被腾讯屏蔽怎么办?实测多种解封方式
- 动画(animation)属性详解
- 谷歌浏览器安全证书不受信任_win7系统谷歌浏览器提示该网站的安全证书不受信任的解决方法...
- DB2数据库相关操作
- JavaScript中实现键值对的方法
- 2021年广西省安全员C证免费试题及广西省安全员C证考试试卷
- 开发基础 - Linux下安装SVN服务端
- 用python做一个舆情分析系统_如何用Python做舆情时间序列可视化?