[发明专利]基于FFT滤波的方法、终端设备及计算机可读存储介质在审
申请号: | 201710452267.8 | 申请日: | 2017-06-15 |
公开(公告)号: | CN107358165A | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 宋佳城;陈宇弘;朱江华 | 申请(专利权)人: | 深圳市泰和安科技有限公司 |
主分类号: | G06K9/00 | 分类号: | G06K9/00;G06F17/14 |
代理公司: | 深圳中一联合知识产权代理有限公司44414 | 代理人: | 张全文 |
地址: | 518000 广东省深圳市光明新区公明街道*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 fft 滤波 方法 终端设备 计算机 可读 存储 介质 | ||
技术领域
本发明属于电流探测技术领域,尤其涉及一种基于FFT滤波的方法、终端设备及计算机可读存储介质。
背景技术
滤波在信号处理过程中几乎是处处可见,可分为硬件和软件两个方面来进行处理。在硬件上实现滤波显然会增加成本,且处理结果不是很理想。相比之下,通过软件采用特定的算法来滤波更具有实际应用的价值。基于频谱的处理方法在滤波软处理中是容易实现的。尤其是基于已知被探测对象的频率为50Hz时,处理起来更是便捷,高效。这样阐述的依据是所有的波都可以看作由正弦波的叠加,从频谱分析的角度来说只需抽取待测波形同频信号,无需关心其他频率信号。傅里叶变换是一种将信号从时域变换到频域的变换形式,是信号处理的重要分析工具。离散傅里叶变换(DFT)是傅里叶变换在离散系统中的表示形式。但是DFT的计算量非常大,快速傅里叶变换算法(FFT)就是DFT的一种快速算法,它是根据DFT的奇、偶、虚、实等特性,对DFT的算法进行改进获得的。FFT由若干级迭代的蝶形运算组成,在蝶形运算中需要基于蝶形因子。传统的蝶形因子获取方式是通过公式计算得到,因此,在对输入信号进行FFT处理的过程中,需要针对每个采样点,基于蝶形因子计算公式计算各个采样点的蝶形因子,使得FFT处理效率慢。
上述问题亟待解决。
发明内容
针对在对输入信号进行FFT处理的过程中,需要针对每个采样点,基于蝶形因子计算公式计算各个采样点的蝶形因子,使得FFT处理效率慢的缺陷,本发明提供一种基于FFT滤波的方法、终端设备及计算机可读存储介质。
本发明实施例的第一方面提供了一种基于FFT滤波的方法,包括:
将采集到的输入信号进行快速滤波处理,其中,通过调用已经保存到蝶形因子表格中的蝶形因子,以及通过移位将数组进行逆位序的排列,实现快速滤波处理的过程;
根据快速滤波处理的结果,获取输入信号中指定频率的波的波峰;
保留带有波峰的波,完成滤波。
进一步地,蝶形因子表格的列项目具体包括:序号n、PI=atan(1)*4、采样点数sample_num、实部R=cos(2*PI/sample_num*n)、虚部I=sin(2*PI/sample_num*n),其中R列和I列中的数据是蝶形因子。
进一步地,n的范围为0至127。
进一步地,通过移位将数组进行逆位序的排列具体包括:
将输入十进制数转化为输入二进制数列;
将输入二进制数列由低位到高位上的每个数值,依次分配对应的新地址进行保存;
按照由高位到低位的顺序,依次读取每个对应的新地址上的二进制数值后,将读取的二进制数值进行合并成为输出二进制数列;
将输出二进制数列转化为输出十进制数;
按照上述方法依次处理输入十进制数列中的每个输入十进制数后,生成一输出十进制数列。
进一步地,根据快速滤波处理的结果,获取输入信号中指定频率的波的波峰具体包括:
通过快速滤波处理获取指定频率的波的模值以及相位;
通过波的模值的一半以及相位获取波的峰值。
本发明实施例的第二方面提供了一种基于FFT滤波的装置,包括:
处理模块,用于将采集到的输入信号进行快速滤波处理,其中,通过调用已经保存到蝶形因子表格中的蝶形因子,以及通过移位将数组进行逆位序的排列,实现快速滤波处理的过程;
获取模块,用于根据快速滤波处理的结果,获取输入信号中指定频率的波的波峰;
滤波模块,用于保留带有波峰的波,完成滤波。
进一步地,蝶形因子表格的列项目具体包括:序号n、PI=atan(1)*4、采样点数sample_num、实部R=cos(2*PI/sample_num*n)、虚部I=sin(2*PI/sample_num*n),其中R列和I列中的数据是蝶形因子。
进一步地,n的范围为0至127。
进一步地,处理模块具体包括:
转化单元,用于将输入十进制数转化为输入二进制数列;
保存单元,用于将输入二进制数列由低位到高位上的每个数值,依次分配对应的新地址进行保存;
读取单元,用于按照由高位到低位的顺序,依次读取每个对应的新地址上的二进制数值后,将读取的二进制数值进行合并成为输出二进制数列;
输出单元,用于将输出二进制数列转化为输出十进制数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市泰和安科技有限公司,未经深圳市泰和安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710452267.8/2.html,转载请声明来源钻瓜专利网。