基于miu小波变换的人体步态数据检测和识别算法matlab仿真

目录

一、理论基础

3.2.1加速度计

3.2.2陀螺仪  

3.3基于IMU设备的人体步态数据的采集

二、MATLAB仿真程序

三、仿真结果


一、理论基础

      在进行数据采集的过程中,需要根据实际情况选择合适的采集设备,现有的采集设备一般都是由多个传感器模块、显示模块、电源模块以及通信模块构成。在本课题中,我们选择了BWT61CL无线蓝牙版带电池陀螺仪姿态传感器作为本文的数据采集设备。该设备的主要参数指标如下表所示:

表1陀螺仪姿态传感器参数指标

参数名称

参数值

1

电压

3.3V~5V

2

电流

<10mA

3

尺寸

51.3mm*36mm*15mm

4

测量精度

0.05

5

量程

加速度16g,角速度2000度/s,角度180度

6

分辨率

加速度6.1e-5g,角速度7.6e-3度/s

7

测量维度

三维

8

输出频率

100Hz

        BWT61CL姿态传感器其主要构架包括了传感器模块、信号处理单元、信号收发接口等模块,其具有低功耗、低成本、轻便等优势[19]。该设备广泛应用于手机,GPS导航、计步器以及智能儿童手表等电子产品中,下面对该IMU设备的各个模块进行介绍。

3.2.1加速度计

    加速度计是BWT61CL姿态传感器的一个重要组成部分,其属于惯性传感器的一种,通过加速度计可以采集人体的加速度信息,包括x轴加速度,y轴加速度以及z轴加速度。当人体在行走或者奔跑过程中,其加速度将表现为周期性的波动,那么通过加速度计则可以实时监测这种周期性变化,并根据这种周期特征来计算人体的步态和步伐数量。当人体处于静止状态或者匀速状态,此时加速度计只有垂直方向有数据,且近似为重力加速度。

3.2.2陀螺仪  

    陀螺仪同样是BWT61CL姿态传感器的一个重要组成部分,通过陀螺仪可以实时监测出人体在行走过程中的角速度。BWT61CL中的陀螺仪,其转轴方向将不随着支架的转动而变化,当设备收到外部角度变化的时候,其上下金属之间的电容会发生变化,根据电压值的改变大小来判断角度的变化大小。

3.3基于IMU设备的人体步态数据的采集

    数据采集环节是人体步行识别和步伐统计研究的第一环节,在本课题中,我们主要通过BWT61CL姿态传感器进行采集行人的xyz三个方向的加速度,xyz三个方向的角速度以及xyz三个方向的角度(如图3.1所示),为课题的研究提供最原始的分析数据。

图1数据采集示意图

    通过采集得到的数据主要包括人体沿着x轴、y轴、z轴的加速度,即ax,ay,az;沿着x轴、y轴、z轴的姿态角,即横滚角anglex,俯仰角angley,偏航角anglez,沿着x轴、y轴、z轴的角速度,即wx,wy,wz;一共九组特征数据。由图3.1可知,横滚角以x轴作为旋转轴,俯仰角以y轴作为旋转轴,航偏角以z轴为旋转轴。通过IMU设备对数据进行实时的采集,可以记录行人不同的行走状态。最终采集的数据结构如下所示:

图2数据样本图

二、MATLAB仿真程序

clc;
clear;
close all;
warning off;sel = 2;    load R1.mat[locsy1,indxy1]=func_peak(ay1);
[locsz1,indxz1]=func_peak(az1);[locsy2,indxy2]=func_peak(ay2);
[locsz2,indxz2]=func_peak(az2);[locsy3,indxy3]=func_peak(ay3);
[locsz3,indxz3]=func_peak(az3);if sel == 1figure;
subplot(211);
plot(Timesa,ay1,'b');
hold on
plot(Timesa(locsy1),ay1(locsy1),'ro'); 
hold on
plot(Timesa(indxy1),ay1(indxy1),'k*'); 
hold on
stem(Timesa(locsy1),ay1(locsy1),'ro')
xlabel('time');
ylabel('ay');
subplot(212);
plot(Timesa,az1,'b');;
hold on
plot(Timesa(locsz1),az1(locsz1),'ro');
hold on
plot(Timesa(indxz1),az1(indxz1),'k*');
hold on
stem(Timesa(locsz1),az1(locsz1),'ro')
xlabel('time');
ylabel('az');Tay1  =[Timesa(locsy1)]';
Tby1  =[Timesa(indxy1)]';
Ay1  =[ay1(locsy1)]'; Taz1  =[Timesa(locsz1)]';
Tbz1  =[Timesa(indxz1)]';
Az1  =[az1(locsz1)]'; ptime1 = [67.574,68.031,68.602,69.235,69.775,70.352,70.922,71.636,72.201,72.66,73.212];
ptime2 = [67.407,68.12,68.762,69.347,69.881,70.448,70.998,71.567,72.20,72.755,73.307];for i = 1:length(ptime1)-1diff1(1,i)=ptime1(i+1)-ptime1(i);diff2(1,i)=ptime2(i+1)-ptime2(i);
end
2*mean(diff1)
2*mean(diff2)
figure;
plot(ptime1-ptime2);p1=[66.2,66.402,66.519,66.746,66.951,67.05,67.198,67.343,67.499,67.615,67.913,68.201,68.531,68.868,69.155,69.393,69.698,69.991,70.235,70.559,70.802,71.145,71.381,71.687,71.972,72.288,72.53,72.844,73.104,73.431,73.707,73.858];
p2=[66.936,67.170,67.360,67.499,68.021,68.333,68.531,	68.554,68.629,68.951,69.222,69.56,69.798,70.021,70.378,70.596,70.611,70.661,70.667,70.671,70.979,71.197,71.553,71.794,72.1,72.321,72.678,72.911,73.245,73.423,73.493,73.847,73.994];for i = 1:length(p1)-1diff1(1,i)=p1(i+1)-p1(i);diff2(1,i)=p2(i+1)-p2(i);
end
5*mean(diff1)
5*mean(diff2)ay=mean(sqrt(ax1(locsz1).^2 + ay1(locsz1).^2 + az1(locsz1).^2))endif sel == 2
figure;
subplot(211);
plot(Times2,ay2,'b');
hold on
plot(Times2(locsy2),ay2(locsy2),'ro');
hold on
plot(Times2(indxy2),ay2(indxy2),'k*');
hold on
stem(Times2(locsy2),ay2(locsy2),'ro')
xlabel('time');
ylabel('ay');
subplot(212);
plot(Times2,az2,'b');;
hold on
plot(Times2(locsz2),az2(locsz2),'ro');
hold on
plot(Times2(indxz2),az2(indxz2),'k*');
hold on
stem(Times2(locsz2),az2(locsz2),'ro')
xlabel('time');
ylabel('az');ptime1 = Times2(locsy2);
ptime2 = Times2(indxz2);for i = 1:length(ptime1)-1diff1(1,i)=ptime1(i+1)-ptime1(i);diff2(1,i)=ptime2(i+1)-ptime2(i);
end
2*mean(diff1)
2*mean(diff2)
% figure;
% plot(ptime1-ptime2);p1=Times2(indxy2(4:end));
p2=Times2(indxz2);for i = 1:length(p1)-1diff1(1,i)=p1(i+1)-p1(i);diff2(1,i)=p2(i+1)-p2(i);
end
5*mean(diff1)
5*mean(diff2)ay=mean(sqrt(ax2(locsz2).^2 + ay2(locsz2).^2 + az2(locsz2).^2))
endif sel == 3
figure;
subplot(211);
plot(Times3,ay3,'b');
hold on
plot(Times3(locsy3),ay3(locsy3),'ro');
hold on
plot(Times3(indxy3),ay3(indxy3),'k*');
hold on
stem(Times3(locsy3),ay3(locsy3),'ro')
xlabel('time');
ylabel('ay');
subplot(212);
plot(Times3,az3,'b');;
hold on
plot(Times3(locsz3),az3(locsz3),'ro');
hold on
plot(Times3(indxz3),az3(indxz3),'k*');
hold on
stem(Times3(locsz3),az3(locsz3),'ro')xlabel('time');
ylabel('az');ptime1 = [100.685;101.31;101.89;102.666;103.198;103.794;104.343;104.918;105.308;105.865;106.536;] ;
ptime2 = [100.885;101.47;102.039;102.589;103.143;103.707;104.281;104.823;105.387;105.952;106.536;]; for i = 1:length(ptime1)-1diff1(1,i)=ptime1(i+1)-ptime1(i);diff2(1,i)=ptime2(i+1)-ptime2(i);
end
2*mean(diff1)
2*mean(diff2)
figure;
plot(ptime1-ptime2);p1=Times2(indxy2(4:end));
p2=Times2(indxz2);for i = 1:length(p1)-1diff1(1,i)=p1(i+1)-p1(i);diff2(1,i)=p2(i+1)-p2(i);
end
5*mean(diff1)
5*mean(diff2)
ay=mean(sqrt(ax3(locsz3).^2 + ay3(locsz3).^2 + az3(locsz3).^2))end

三、仿真结果

       从图的仿真结果可知,通过峰值检测和过零检测算法,我们可以得到各个峰值以及过零点值,其具体数值结论如下:

      对于峰值时刻,y轴的峰值检测时刻为:100.6850,101.3100,101.8900,102.6660,103.1980,103.7940,104.3430,104.9180,105.3080,105.8650,106.5360。z轴的峰值检测时刻为:100.8850101.4700102.0390102.5890103.1430103.7070104.2810104.8230105.3870105.9520106.5360两个轴上峰值的检测时刻误差为:   -0.2000,-0.1600,-0.1490,0.0770,0.0550,0.0870,0.0620,0.0950,-0.0790,-0.0870,0。那么由y轴加速度数据和z轴加速度数据,我们分别得到的步伐周期为1.1302s和1.1702s。由此可见,通过y轴和z轴计算的步伐周期之间存在一定的差异性。同理,根据过零点时刻数据,由y轴加速度数据和z轴加速度数据,我们分别得到的步伐周期为1.1091s和1.1629s。由此可见,通过y轴和z轴计算的步伐周期之间存在一定的差异性。

A17-10

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/70995.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java大学学费400_中国大学学费一览表:2019年全国大学最新收费参考

2.中国各大学最新收费标准是怎样的 以下是整理的全国各省市高校学费表&#xff0c;供参考! 3.一本二本学费上有差别吗 一本、二本大学学费一般在5000-6000之间。一本、二本的个别专业(外语、艺术等)8000到10000。主要区别要看学校所处的位置&#xff0c;及专业所用的教学设备。…

上周,劝退十几个了。。。

今天还是想给大家好好聊聊我们星球。 很多人不知道&#xff0c;加入知识星球3天内如果不满意&#xff0c;可以无理由退款的&#xff0c;所以3天内很多小伙伴都被我们劝退了。 就在上周劝退了十几个&#xff0c;特别是为了账号的那些人&#xff0c;我们也直接劝退了。 其实做星球…

oobabooga-text-generation-webui可能是最好的语言模型启动器(包含手把手安装教程)

原文&#xff1a;oobabooga-text-generation-webui可能是最好的语言模型启动器&#xff08;包含手把手安装教程&#xff09; - 哔哩哔哩 引言&#xff1a; 问&#xff1a;oobabooga是什么&#xff1f; oobabooga-text-generation-webui是一个用于运行类似Chatglm、RWKV-Rave…

智能机器人嵌入ChatGPT会给社会带来哪些进步

智能机器人技术在当今世界中扮演着越来越重要的角色&#xff0c;而其中一个令人印象深刻的例子就是ChatGPT。ChatGPT是一种基于人工智能的对话系统&#xff0c;它利用强大的自然语言处理和生成模型&#xff0c;可以与人类进行自然而流畅的对话。ChatGPT内置了智能机器人技术&am…

淘宝API接口:item_search - 按关键字搜索淘宝商品

淘宝的API开发接口&#xff0c;我们需要做下面几件事情。 1&#xff09;开放平台注册开发者账号&#xff1b; 2&#xff09;然后为每个淘宝应用注册一个应用程序键&#xff08;App Key) &#xff1b; 3&#xff09;下载淘宝API的SDK并掌握基本的API基础知识和调用&#xff1b; …

API接口名称(item_search - 按关键字搜索淘宝商品)[item_search,item_get,item_search_shop等]

请求参数&#xff1a;q女装&start_price0&end_price0&page1&cat0&discount_only&sort&page_size&seller_info&nick&ppath&imgid&filter 参数说明&#xff1a;q:搜索关键字 cat:分类ID start_price:开始价格 end_price:结束价…

淘宝关键词搜索分析商品价格走势(商品列表接口,销量接口,价格接口,分类ID精准商品数据接口)接口代码对接

淘宝 OpenAPI&#xff08;Open application programming interface&#xff09;是一套 REST 方式的开放应用程序编程接口。淘宝网根据自己提供的电子商务基础服务&#xff0c;抽象并做成一系列的 API 接口。通过这些接口&#xff0c;可以让外部用户能够通过程序的方式访问淘宝网…

淘宝排名查询接口,关键词排名API,宝贝排名查询,在线淘宝排名查询

功能 1.查询商品在指定关键词下的排名情况&#xff0c;商家推广过程中&#xff0c;需要实时掌握商品排名变化&#xff0c;以此来检测推广效果。W&#xff1a;stkjnannan,价格可低至几分钱 2.手动在淘宝搜索页翻查排名&#xff0c;如果商品排名靠后&#xff0c;查找会耗费大量时…

淘宝天猫api按关键词搜索商品

onebound.taobao.item_search 注册获取api测试 返回数据说明 公共参数 名称类型必须描述keyString是调用key&#xff08;必须以GET方式拼接在URL中&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,ite…

淘宝API-item_search - 按关键字搜索淘宝商品

淘宝API-item_search - 按关键字搜索淘宝商品https://www.onebound.cn/api-try/?ijackson 返回值说明&#xff1a; 参考如下&#xff1a; 数据&#xff1a;Result Object: { “items”: { “page”: “1”, “error”: null, “real_total_results”: “1223834”, “total_…

淘宝关键词

item_search - 按关键字搜索淘宝商品 支持测试 “items”: { “keyword”: “女装”, “list_page”: “1”, “real_total_results”: 4000, “total_results”: 4000, “list_count”: 40, “data_from”: “86daigou”, “item”: [ { “title”: “大码女装夏装2019新款适…

什么是淘宝关键词以及如何查找关键词的方法

http://bbs.taobao.com/catalog/thread/154503-259562143.htm 今天以上课的形式给大家讲解&#xff0c;以便于理解。这节课程适合自然搜索流量不高或者排名不理想的卖家朋友学习。任何高级的技巧都是建立在完全掌握基础知识的基础上的 才能发挥好。 关键词&#xff1a;那么关…

淘宝商品关键词搜索排名查询

随着电商市场的竞争越来越大&#xff0c;很多电商运营都在不断开拓新思路去推广。例如会思考到底哪些词会比较多人搜索&#xff0c;放在自家商品标题上面&#xff0c;会不会被买家搜索看到。能不能被搜索到&#xff0c;这就要看自己店铺商品的竞争力强不强了。所以我们要时刻关…

按关键字搜索商品 (淘宝)

item_search - 按关键字搜索淘宝商品&#xff08;API 返回值说明&#xff09; 请求参数 请求参数&#xff1a;q女装&start_price0&end_price0&page1&cat0&discount_only&sort&page_size&seller_info&nick&ppath&imgid&filter…

淘宝搜广推技术备注

第一篇文章 一、序列特征处理方式 1&#xff1a;淘宝的类目体系中&#xff0c;有大类目、小类目&#xff08;淘宝大类目和小类目怎么区分&#xff1f;有何运营技巧&#xff1f;-卖家网&#xff09;&#xff0c;在做推荐系统时&#xff0c;有个sim建模&#xff08;search-base…

淘宝关键词搜索商品API

公共参数 请求地址: https://api-gw.onebound.cn/taobao/item_get 名称类型必须描述keyString是调用keysecretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cacheString否[yes,no]默认yes…

按关键词搜索商品 淘宝API

item_search - 按关键字搜索淘宝商品 注册地址&#xff1a;http://console.open.onebound.cn/console/?iEd Request address: //api.onebound.cn/taobao/api_call.php? q女装&start_price0&end_price0&page1&cat0&discount_only&sort&page_siz…

淘宝API接口商品详情,关键词搜索

item_get-获得淘宝商品详情 测试地址 请求参数 请求参数&#xff1a;num_iid668484420929&is_promotion1 参数说明&#xff1a;num_iid:淘宝商品ID is_promotion:是否获取取促销价 Request address: https://api-gw.onebound.cn/taobao/item_get/?key& &num_ii…

淘宝关键词API

支持测试&#xff1a;http://console.open.onebound.cn/console/?iAlex item_search - 按关键字搜索淘宝商品 “items”: { “keyword”: “女装”, “list_page”: “1”, “real_total_results”: 4000, “total_results”: 4000, “list_count”: 40, “data_from”: “86…

淘宝按关键词搜索示例

以下是行业内了解到的一些情况&#xff0c;本帖只展示部分代码&#xff0c;需要更多API调试请移步注册API账号}{{ "items": { "page": "1", "real_total_results": 1000, "total_results": 100…