基于稀疏辅助小波和线性时不变滤波器的惯性传感器步态周期分割方法(MATLAB R2018A)

每个人在肌肉骨骼状况、生理状况、心理特征以及个人行走的"风格"等方面都有各自的特点,因此,每个人都有自己的步态指纹。这意味着可以根据步态特征来进行身份识别。基于步态的身份识别是生物特征识别的一个新兴领域。其机制有3个显著的优点:1)远距离,即步态检测过程可以在较远的距离下进行;2)无打扰,即它不需要与用户进行明确的交互;3)难以模仿,即很难模仿一个人的步态。目前,许多研究人员通过视频进行步态身份识别。随着惯性传感器在便携式设备中的广泛配置,以及其在生物力学、神经康复、运动医学等中的广泛应用,基于惯性传感器的步态身份识别吸引了众多研究者的关注。基于惯性传感器的步态识别可以显著增强便携式设备的安全性。

鉴于此,提出一种基于稀疏辅助小波和线性时不变滤波器的惯性传感器步态周期分割方法,运行环境为MATLAB R2018A。

Matlab 复制代码
function [toe_off,heel_stk,iGS] = label_gait_segments(binX,gx,t1,toe_off,heel_stk)

% Gyro data
[ms_start,ms_stop] = edge_detection(binX);
iGS = [ms_start,ms_stop-1];

if ~isempty(iGS)
    if (size(iGS,1) >= 2)
        % first local maxima (toe-off event)
        [~,ind] = max(gx(t1+iGS(1,1):t1+iGS(1,2)));
        toe_off(1,t1+iGS(1,1)+ind-1) = gx(t1+iGS(1,1)+ind-1);
        
        % second local maxima (heel-strike event)
        max_val = 0; ss = 2;
        for ii=2:size(iGS,1)
            [max_v, max_i] = max(gx(t1+iGS(ii,1):t1+iGS(ii,2)));
            if max_v > max_val
                max_val = max_v; ind = max_i; ss = ii;
            end
        end
        heel_stk(1,t1+iGS(ss,1)+ind-1) = gx(t1+iGS(ss,1)+ind-1);
    end
end
%完整代码:https://mbd.pub/o/bread/mbd-ZJyXlJ9s

end

工学博士,担任《Mechanical System and Signal Processing》《中国电机工程学报》《控制与决策》等期刊审稿专家,擅长领域:现代信号处理,机器学习,深度学习,数字孪生,时间序列分析,设备缺陷检测、设备异常检测、设备智能故障诊断与健康管理PHM等。

相关推荐
转调7 分钟前
每日一练:地下城游戏
开发语言·c++·算法·leetcode
Java探秘者8 分钟前
Maven下载、安装与环境配置详解:从零开始搭建高效Java开发环境
java·开发语言·数据库·spring boot·spring cloud·maven·idea
2303_8120444617 分钟前
Bean,看到P188没看了与maven
java·开发语言
秋夫人20 分钟前
idea 同一个项目不同模块如何设置不同的jdk版本
java·开发语言·intellij-idea
SEU-WYL21 分钟前
基于深度学习的任务序列中的快速适应
人工智能·深度学习
OCR_wintone42123 分钟前
中安未来 OCR—— 开启高效驾驶证识别新时代
人工智能·汽车·ocr
matlabgoodboy33 分钟前
“图像识别技术:重塑生活与工作的未来”
大数据·人工智能·生活
不穿格子衬衫36 分钟前
常用排序算法(下)
c语言·开发语言·数据结构·算法·排序算法·八大排序
萧鼎42 分钟前
Python调试技巧:高效定位与修复问题
服务器·开发语言·python
wdxylb43 分钟前
使用C++的OpenSSL 库实现 AES 加密和解密文件
开发语言·c++·算法