APP下载

便携式故障诊断系统中FFT算法的设计*

2015-11-03张志坚周凤星卢少武

组合机床与自动化加工技术 2015年1期
关键词:实部存储空间处理器

张志坚,周凤星,卢少武

(武汉科技大学信息科学与工程学院,武汉 430081)

便携式故障诊断系统中FFT算法的设计*

张志坚,周凤星,卢少武

(武汉科技大学信息科学与工程学院,武汉 430081)

设计并实现了一种适用于便携式故障诊断系统中的FFT算法,该FFT算法利用外部RAM芯片解决了便携式故障诊断系统中数字处理器在计算大数据量FFT算法时出现的内存不足问题。并对实现该FFT算法系统的硬件组成进行了阐述,给出了该FFT算法的软件流程图和软件设计中的要点。将FFT算法应用在便携式故障诊断系统上能够快速并且精确地计算出故障信号的频率,特别适用于便携式故障诊断系统中大数据量的FFT运算。

便携式故障诊断系统;大数据量;FFT算法;外部RAM芯片

0 引言

快速傅里叶变换FFT(Fast Fourier Transform)是离散傅里叶变换DFT(Discrete Fourier Transformation)的快速算法,FFT是数字信号处理中最为重要的算法之一,在声学、语音、电信和信号处理等各个领域都有广泛的应用。离散傅里叶变换的目的是把信号由时域变换到频域,从而可以在频域分析处理信息[1]。

在故障诊断过程中,故障诊断系统需要采集设备的振动信号,并用数字处理器对采集的信号进行处理[2-4],当采集的数据量过大时,便携式故障诊断系统容易出现数字处理器内部存储空间不足的问题,但是外部RAM芯片拥有充足的存储空间和快速存取数据的能力,利用外部RAM芯片则能够很好解的决数字处理器内部存储空间不够的问题,数字处理器强大的数据处理能力加上外部RAM芯片充足的存储空间,可以充分发挥两者的优势,以达到故障诊断的目的。本文为此设计并实现了一种适用于便携式故障诊断系统的FFT算法,并在实验中取得了良好的应用效果。

1 硬件设计

实现该FFT算法的硬件系统主要包括数字处理器TMS320F2812,AD芯片AD976,液晶屏,外部RAM芯片IS61LV51216[5-6]。

数字处理器TMS320F2812是TI公司生产的一款DSP芯片,内部含有32位定点乘法器,但是其128K的FLASH内存使其在保存并计算大量数据时显得比较吃力,特别是复杂的算法往往有很多的中间变量,但是TMS320F2812带有外部存储器接口,可以快速的把数据存到外部RAM芯片IS61LV51216中和从外部RAM芯片IS61LV51216中取出来。

硬件设计如图1所示,16位AD芯片AD976的输入接口接信号发生器的信号线VIN和GND,AD976的数据线DB0-DB15与TMS320F2812的IO口GPIOA0-GPIOA15对应连接,AD976控制线CS、R/C与TMS320F2812的IO口GPIOB11、GPIOB12对应连接,AD976中断信号线与TMS320F2812的外部中断IO口GPIOE2-XNMI-XINT13连接。液晶屏的信号线RXD、TXD与TMS320F2812的SCIA接口GPIOF4-SCITXDA、GPIOF5-SCIRXDA对应连接。外部RAM芯片IS61LV51216的数据线I/O0-I/O15与TMS320F2812的IO口XD0-XD15对应连接,IS61LV51216的地址线A0-A18与TMS320F2812的IO口XA0-XA18对应连接,IS61LV51216的控制线/WE、/OE、/CE与TMS320F2812的IO口XWEn、XRDn、XZCS2n对应连接。

图1 系统硬件组成

2 软件设计

对于有限长离散数字信号x(n),0≤x≤N-1,它的离散频谱X(k)可由离散傅里叶变换求得,DFT定义如下:

FFT的基本思想是原来的N点序列分成为两个较短的序列,因此对于任何一个2点的整数幂N=2M,总可以通过M次分解最后成为2点的DFT计算。这样的M次分解构成了从x(n)到X(k)的M(即log2N)级迭代计算,每级由N/2个蝶形计算组成[7]。蝶形运算流图如图2所示。

图2 蝶形运算流图

FFT算法特点为同址运算,可以将计算出来的结果Xm+1(p)和Xm+1(q)放入计算前的Xm(p)和Xm(q)所在的存储单元中去,而不需要另外开辟新的地址单元来存储计算结果,即同一个存储单元实现就地存储输入、输出数据[8-10]。

系统软件设计总共包括七个模块,软件流程图如图3所示。

(1)TMS320F2812初始化配置。本系统利用到了TMS320F2812的外部存储器接口、SCIA接口和中断接口,因此需要先对TMS320F2812的外部存储器接口、SCIA接口和中断接口进行初始化。

(2)对IS61LV51216的地址空间进行分配。分配的目的是为了让特定的变量保存在指定的区域,有利于变量后续的存取操作。TMS320F2812外部存储器区域2地址为0x080000~0x100000,此区域存储空间为512KB,在本系统中,将IS61LV51216地存储空间分配为8个64KB的区域,每个区域可以存储65536个16位数据。TMS320F2812自带32位定点乘法器,本系统用到了IQ格式,IQ格式为32位数据,因此一个IQ格式数据需要2个地址,分别用来存储IQ格式数据的高位和低位。在FFT计算过程中,需要计算和保存实部和虚部,用来实现碟形变换。因此在计算之前要先分配地址,地址空间分配如下:0x080000~0x08FFFF为用来存储16位原始数据,0x090000~0x09FFFF用来存储虚部高16位,0x0A0000~0x0AFFFF用来存储虚部低16部,0x0B0000~0x0BFFFF用来存储实部高16位,0x0C0000~0x0CFFFF用来存储实部低16位。为了使用方便,把每个区域的首地址用define来定义。IS61LV51216的地址分配如表1所示:

表1 IS61LV51216地址分配

图3 软件流程图

(3)TMS320F2812控制AD976采集数据并保存在IS61LV51216的指定存储空间。TMS320F2812采集到的16位数据立刻保存到IS61LV51216的0x080000~0x08FFFF区域,采集数据数量为2的N次方,采集多少数据就存储多少数据并计算此数量数据的FFT。采集完毕后,再把原始数据复制保存到0x0B0000~0x0BFFFF区域,用以使计算时原始数据不变。

(4)将采集的16位数据转换为实际电压值,再将实际电压值转换为IQ格式数据并保存在IS61LV51216的指定区域。利用AD976的转换规则将16位数据转换为实际电压值,再用IQmath里面的函数_IQ(F)(F实际电压值,浮点型数据)将实际电压值转换为32位IQ型数据,因为实际电压值为实部数,因此转换得到的IQ型数据的高16位保存在IS61LV51216的0x0B0000~0x0BFFFF区域,低16位保存在0x0C0000~0x0CFFFF区域。

(5)用IQ格式数据进行FFT变换。FFT变换包括2点奇偶序列变换和碟形变换。第一步,先把外部存储器地址为0x0B0000~0x0BFFFF和0x0C0000~0x0CFFFF区域所保存的IQ型数据进行2点奇偶序列变换;第二步,用原始数据变换成的IQ型数据进行碟形FFT变换,第一对碟形变换完毕后将两个数据的实部和虚部分别存到指定编号区域,以供下次计算时取出再运算。第三步,当计算完毕后,N个数据的实部和虚部依次保存在4个存储空间内,这时要计算出其幅值,采集平方和开根号容易使数据过大,而产生溢出,这里采用三角函数求法,此方法具体过程为先算出第i个数据的实部re,第i个数据的虚部im,则角度的IQ型数据为iq12angle=_IQatan(_IQ12div(im,re)),则其幅值iq12ya=_IQ12div(re,_IQ12cos(iq12angle))。三角形中的变量如图4所示。

图4 计算幅值

(6)在液晶屏上显示FFT变换结果。

通过上述程序可以发现,IS61LV51216里面所有的数据都有相应的地址与之对应,这样便就可以知道编写的变量对应在IS61LV51216存储空间所对应位置,增大了程序的灵活性和充分利用IS61LV51216的存储空间。

3 在便携式故障诊断系统中的应用

便携式故障诊断系统实物图如图5所示,包括主板与显示屏。

图5 便携式故障诊断系统实物图

实验过程中,用信号发生器产生一定频率的正弦波信号,用该系统采集N个点,并保存在IS61LV51216指定的存储空间里面,按上述方法进行FFT变换,然后在液晶屏上显示,通过实验的方法,证明了该方案的可行性。

实验设定系统的AD芯片采集频率为kHz,采集点数为n(n为2的N次方,N为整数),且n不小于k,保证采集完一个周期,把采集到的数列按上述软件所述步骤进行处理,计算完毕后把每个点的幅值保存到IS61LS51216指定的空间里面,假设幅值对应的频率最大值为x,则采集到正弦波的频率ka为:

此实验中设定系统的AD芯片采集频率为512Hz,采集点数为512个点,用信号发生器产生20Hz的正弦波信号,刚通过计算可得知AD芯片一秒钟可以采集20个正弦波,采集信号的时域波形如图6所示。

图6 采集信号的时域波形

计算完毕后,采集信号的FFT波形,如图7所示。

图7 采集信号的FFT波形

从实验结果可以看出,FFT计算出来最大结果是1.27×103,最大值对应的频率为20Hz,对信号的FFT变换结果是非常精确的,因此这种算法并不会影响到最终结果,并且适用于大数据量的算法。

4 结论

该FFT算法应用在便携式故障诊断系统中具有非常大的优势,尤其在便携式故障诊断系统出现处理器内存不足的情况下,这种优势体现地更加明显,该FFT算法几乎不需要占用系统处理器的内存,所有的数据及计算过程中的中间变量均存储在外部RAM芯片中,为处理器在内存不足的情况下进行大数据量FFT计算提供非常实用的方案,并在实验中取得了满意的结果,因此便携式故障诊断系统用该FFT算法在计算大数据量FFT算法时具有独特的优势。

[1]汪安民,周慧,蔡湘平.TMS320C674x DSP应用开发[M].北京:北京航空航天大学出版社,2012.

[2]寇惠,原培.故障诊断中振动信号处理[M].北京:冶金工业出版社,1989.

[3]王卓,田振华.滚动轴承的排到监测与故障诊断系统研究[J].机电工程,2001(6):52-54.

[4]除春生,王太勇,邓辉,等.机械设备故障诊断用便携式数据采集分析系统[J].农业机械学报,2007,38(10):170-173.

[5]苏奎峰,蔡昭权,吕强,等.TMS320X281X DSP应用系统设计[M].北京:北京航空航天大学出版社,2008.

[6]程耕国.信号与系统[M].北京:机械工业出版社,2009.

[7]姚天任,孙洪.现代数字信号处理[M].武汉:华中理工大学出版社,1999.

[8]温和,滕召胜,王永,等.改进加窗插值FFT动态谐波分析算法及应用[J],电工技术学报,2012,27(12):270-277.

[9]李斌,田素雷,孙雪晶.大点数FFT设计中提高资源利用率的方法[J].无线电工程,2011,41(1):54-57.

(编辑 李秀敏)

Design of FFT Algorithm in the Portable Fault Diagnosis System

ZHANG Zhi-jian,ZHOU Feng-xing,LU Shao-wu
(School of Information Science and Engineering,Wuhan University of Science and Technology,Wuhan 430081,China)

A FFT algorithm which is suitable for the portable fault diagnosis system is designed and realized in the paper,the FFT algorithm using the external RAM chip solves the problem that the processor of the portable fault diagnosis system is out of memory when the processer calculates the FFT algorithm with a large amount of data.The hardware components used to implement the FFT algorithm are introduced,and in software design,the software flow and the main points are present.Finally,the FFT algorithm in the paper can quickly and accurately calculate the fault signal's frequency and especially suitable for the FFT algorithm with large amount of data in the portable fault diagnosis system.

portable fault diagnosis system;a large amount of data;FFT algorithm;external RAM chip

TH165+.3;TG659

A

1001-2265(2015)01-0103-03 DOI:10.13462/j.cnki.mmtamt.2015.01.029

2014-04-24

国家自然科学基金(61174106);中国博士后科学基金(2014M552091);武汉科技大学校青年科技骨干培育计划(2014xz009)

张志坚(1989—),男,武汉人,武汉科技大学硕士研究生,研究方向为故障诊断,(E-mail)389008490@qq.com。

猜你喜欢

实部存储空间处理器
复数知识核心考点综合演练
基于多种群协同进化算法的数据并行聚类算法
磁感应介电常数法测量脑出血的可行性研究
苹果订阅捆绑服务Apple One正式上线
例谈复数应用中的计算两次方法
用好Windows 10保留的存储空间
浅谈正Γ型匹配网络的设计
ADI推出新一代SigmaDSP处理器
火线热讯
AItera推出Nios II系列软核处理器