基于快速傅里叶变换的人体活动识别改进算法研究

时间:2022-05-29 09:26:14

基于快速傅里叶变换的人体活动识别改进算法研究

摘 要:主要探讨了人体活动识别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) 当与临界段相关性较高的时候,可计算数据的平均频率分布,比较该平均频率值和前一次采样时间的平均频率值。如果增大,就是人有跑步的趋势;如果减小,就是人有行走的趋势。

(3) 当相似度较低的时候,计算数据的平均频率,并与临界段的平均频率进行比较。如果数据的平均频率比临界段的小,则人处于行走状态;反之,人处于跑步状态。

5 结 语

FFT算法和相关性分析是对人体活动模式探讨的一次创新性组合,通过频域中幅度频谱的分析实现信号的分类,然后通过最小二乘法相关性分析的方法,就可以实现对信号的智能识别。

参 考 文 献

[1] 程德福.传感器原理及应用[M].北京:机械工业出版社,2007.

[2] 管致中.信号与线性系统[M].北京:高等教育出版社,2011.

[3] RADER C, BRENNER N. A new principle for fast Fourier transformation [J]. IEEE transactions on Acoustics, Speech and Processing, 1976, 24(3): 264-266.

[4] LI Bao-li, LU Qin, YU Shi-wen. An adaptive k-nearest neighbor text categorization strategy [J]. ACM Transactions on Asian Language Information Processing, 2004, 3(4): 215-226.

[5] CORMEN T, LEISERSON C, RIVEST R, et al. Introduction to algorithms [M]. New York: McGraw-Hill, Inc., 2001.

[6] OPPENHEIM A, SCHAFER R, BUCK J. Discrete-time signal processing [M]. 3rd ed. New York: Prentice Hall, 1999.

[7] EDELMAN A, MCCORQUODALE P, TOLEDO S. The future fast Fourier transform [J]. SIAM J. Sci. Computing, 1999, 20(3): 1094-1114.

[8] ERGUN F. Testing multivariate linear functions: Overcoming the generator bottleneck [C]// Proc. of 27th ACM Symposium on the Theory of Computing. Las Vegas: ACM, 1995: 407-416.

[9] FRIGO M, JOHNSON S G. The design and implementation of FFTW3 [J]. Proceedings of the IEEE, 2005, 93 (2): 216-231.

[10] GUO Hai-tao, BURRUS C S. Fast approximate Fourier transform via wavelets transform [J]. SPIE, 1996, 2825: 250-259.

[11] HEIDEMAN M, BURRUS C S. On the number of multiplications necessary to compute a length-2n DFT [J]. IEEE Transactions on Acoustics, Speech and Signal Processing, 1986, 34 (1): 91-95.

[12] JACQUES M. Note on a lower bound of the linear complexity of the fast Fourier transform [J]. J. of ACM, 1973, 20 (2): 305-306.

[13] MOHLENKAMP M J. A fast transform for spherical harmonics [J]. The Journal of Fourier Analysis and Applications, 1999, 5 (2/3): 159-184.

[14] NUSSBAUMER H J. Digital filtering using polynomial transforms[J]. Electronics Letters, 1977, 13(13): 386-387.

[15] PAN V. The trade-off between the additive complexity and the asyncronicity of linear and bilinear algorithms [J]. Information Processing Letters, 1986, 22 (1): 11-14.

[16] E.O.布赖姆.快速傅里叶变换[M], 柳群,译. 上海:上海科学技术出版社,1979.

[17] DUDA R O, HART P E, STORK D G. Pattern classification [M]. 2nd ed. New York: Wiley, 2001.

[18] PAULUS D, HORNEGGER J. Pattern recognition and images and processing in C++ [M]. Wiesbaden: Vieweg and Teubner Verlag, 1995.

上一篇:心中的阳光(组诗) 下一篇:公共图书馆服务体系建设的主要问题及其对策