- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于快速傅里叶变换人体活动识别改进算法研究
基于快速傅里叶变换人体活动识别改进算法研究 摘 要:主要探讨了人体活动识别KNN算法的改进方法,该方法通过快速傅里叶变换算法和相关性分析,把采集到的信号时域特性变成频域特性,从而实现了对人体活动模式的识别。 关键词:人体活动识别;KNN算法;FFT;频谱分析;相关性分析 中图分类号:TN911 文献标识码:A 文章编号:2095-1302(2013)05-0021-02 0 引 言 傅里叶变换(Fourier Transform)在工程中应用很广,但是,对于非周期性的信号,人们把时域变成频域时频域分量有无限多个,而计算机只能处理有限信号,所以,对于此类信号,人们经常会用到离散傅里叶变换(DFT)。 1 快速傅里叶变换 将连续时间的傅里叶变换在时域内离散化,就是离散傅里叶变换。离散傅里叶变换无论是在数字信号处理,或是计算机控制等方面都有重要的应用,它无疑是当代社会生产生活中用到最重要的算法之一。但是,离散傅里叶变换在计算方面比较麻烦,时间复杂度较大。 所以,后了人们提出了一种新型的算法,就是快速傅里叶变换(FFT)。 FFT是离散傅立叶变换的快速算法,可以将一个信号变换到频域。有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征了。这就是很多信号分析采用FFT变换的原因。另外,FFT可以将一个信号的频谱提取出来,这在频谱分析方面也是经常用的。本文主要讨论的是FFT算法在人体活动识别中的应用。 2 Real FFT 本文不着重介绍FFT算法的原理,而是从实用的角度进行分析。通过FFT 算法,可以将时域信号变换成频域信号。处理时域信号可以用Matlab工具分析,也可以用C/C++、Java语言等。下面是时域频域转换的Matlab代码: fs=1000; %设定采样频率 xlabel(频率(Hz)); ylabel(幅值); title(数据频谱分析 by 陈志豪); grid; %设置网格 fy1=fft(y1); % x轴曲线 f1=x1*fs/length(y1); % 进行对应的频率转换 fy2=fft(y2); % y轴曲线 f2=x2*fs/length(y2); % 进行对应的频率转换 fy3=fft(y3); % z轴曲线 f3=x3*fs/length(y3); % 进行对应的频率转换 hold on; p=plot(f1,abs(fy1),g); p=plot(f2,abs(fy2),b); p=plot(f3,abs(fy3),r); legend(x轴,y轴,z轴); 3 通过Matlab分析获取人体活动姿势 在此,本文通过Matlab分析获取到的三轴加速度传感器的值来判断人们的姿势(坐着,走着,跑着)。通过Matlab编程画出图形,使读者对时域到频域的转换有一个感性而真实的认识。同时,通过分析可以得出人体活动的三种状态在频域上的区别,从而分辨出传感器携带者当前所属的状态。 图1所示是三幅时域特性图和与之对应的频率特性图。通过图像会发现,在频域上面很难通过计算机分辨出三幅图的异同,但是,当通过FFT算法将其转换成频域的时候,我们就会很容易看出三幅图的各自不同特性。根据这些特性,就可以通过编程的方法进行模式识别。 图1 三幅时域特性和与之对应的频率特性图 显然,人坐着的时候基波分量比较活跃,即低频活跃,而高频谐波基本上没有;而人在行走的时候,除了有一定的基波分量在0~10 Hz中比较活跃,在这段中,分布着不同的谐波;人在跑步的时候,还是会存在一定的基波分量,但高频分量相对于原来走路时候的分量更高了,即往右移了。从中可以得出一个结论:人在活动的时候,基波分量是存在的,坐着的时候显然是最高的,人在行走中随着步速的加快,三轴加速度传感器的变化速度越明显,谐波分量在频谱图中往右移。 4 相关性分析 对于一个人来说,坐着的话,软件往往很容易识别,但什么时候才算是走路,什么时候才算是跑步,还是要由个人来决定的。这就面临一个临界段的处理的问题,因此,只需要得出临界段的数据,然后进行比较就可以了。下面给一个可行性分析方案。 人在行走的时候,行和跑的概念在有时候是模糊的,这是对于临界点出现的情况说的。我们必须通过训练获取临界数据,即由行转为跑或者由跑转为行的临界点,因为个体的差异性和临界点的模糊性,每个人都有数据自己的临界段,而不是临界点。 这样,就可以通过用数组或通过哈希映射的方法保存幅度相对大的数据,然后通过最小二乘法判断与基波和临界段的相关性。其方法如下: (1) 当得出与基波相关度高的时候,可以得出人在坐着。 (2) 当与临界段相关性较高的时候,
原创力文档


文档评论(0)