本文开始要讲一下FFT的C程序!同时回顾一下数字信号处理的基础知识!为什么呢?优化的过程中也许会用到!后面再开始讲解优化的过程!然后还会给出针对设备优化的思路做出的测试结果!本文还将展示本人在研究算法过程中所看的一些经典资料,这是研究人员水平和能力增长的桥梁!至本篇,本系列的内容完全可以作为本科生的毕业设计课题,属于信号处理类的课题,实用性特别强!!!
FFT(Fast Fourier Transformation)即为快速傅里叶变换,是离散傅里叶变换的快速算法。它是根据离散傅里叶变换的奇、偶、虚、实等特性,对离散傅里叶变换的算法进行改进获得的。FFT算法的基本原理:把长序列的DFT逐次分解为较短序列的DFT。
按照抽取方式的不同可分为DIT-FFT(按时间抽取)和DIF-FFT(按频率抽取)算法。按蝶形运算的构成不同可分为基2、基4和基8以及任意因子的类型。
为什么要学这个呢?因为在心率算法中也许要用到,后续在研究运动模式的时候需要在频域完成很多判断的操作!这里只是简单介绍,网上也有一堆的资料,讲的都不错!这里只是简单提及!
FFT算法中涉及的数字信号是复数类型的。
(1)首先需要定义了一个复数结构体,因为是进行复数的运算,我们又相继定义复数的加减乘运算的函数。
(2)紧接着定义了进行FFT计算的fft()快速傅里叶变换函数、initW() 初始化变换核函数即旋转因子的计算、change() 变址函数和output()输出傅里叶变换的结果的函数。
原文标题:数字信号处理之信号处理仿真 第六章 智能手环之技术应用(8)—心率算法的优化
文章出处:【微信公众号:】欢迎添加关注!文章转载请注明出处。
责任编辑:haq
全部0条评论
快来发表一下你的评论吧 !