首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» 基于FPGA的电机故障在线诊断方法
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于FPGA的电机故障在线诊断方法
发短消息
加为好友
pengpengpang
(pengpengpang)
当前离线
UID
1023229
帖子
6106
精华
0
积分
3055
阅读权限
90
来自
中国
在线时间
156 小时
注册时间
2013-12-20
最后登录
2016-7-3
论坛元老
UID
1023229
来自
中国
1
#
打印
字体大小:
t
T
pengpengpang
发表于 2014-11-29 10:11
|
只看该作者
基于FPGA的电机故障在线诊断方法
编写程序
,
在线
,
电机
,
而且
,
开发
本文应用改进的滑动傅立叶变换(sliding DFT,sDFT)方法作为电机故障在线诊断的频谱分析方法,它能够做到在每个采样点都进行频谱分析。与传统的FFT相比,滑动DFT方法的计算量更小,而且能够选择特定频段进行频谱分析,具有广阔的应用前景。但是因为此算法比较新颖,还没有形成现正的IP核供调用,所以需要自己编写程序进行实现。本文基于System Generator环境实现了该算法,其中ISE版本为12.1,Modelsim为6.5d,Synplify Pro为9.6.2,硬件平台基于自制的Spartan3 XC3S400开发板。
1 滑动DFT的基本原理
设长度为N的有限长序列x(n),其离散傅里叶变换为
式1
将式(1)展开得
式2
x(n)的图形表示如图1所示,其中,x0表示第一组数据,x1表示新的采样点的数据,两组数据相对应的傅里叶变换分别为X0(k)和X1(k)。
图1 滑动DFT数据图示
式3-5
从上式中得出,要计算数据x1的离散傅里叶变换X1(k),只需要通过前一组数据x0的离散傅里叶变换X0(k)减去x(0)再加上x(N),最后对结果进行相移计算就可得出X1(k)。由此计算x1的傅里叶变换只需要知道X0(k),然后进行2次实数加法和1次复数乘法运算即可,这种方法就是滑动DFT,该方法计算量相当小,非常适用于实时频谱分析。
2 滑动DFT与FFT算法比较
从上面的算法推导中可以看出,滑动DFT为连续实时信号的频谱分析提出了一种更加有效的方法。下面对滑动DFT算法和FFT算法的运算量进行分析比较。
由于实际运算中,乘法运算的计算时间远大于加法运算,故只考虑乘法运算的计算量。例如,当对连续信号进行N点频谱分析时,对于FFT,当对连续的m个时刻信号分别进行N点频谱分析时,FFT算法要求每个时刻都要进行运算,计算这m个时刻的信号频谱则需要m*(N/2)*log2(N)次复数乘法运算。而对于SDFT,只须要知道前一时刻信号的频谱,然后进行m*N次复数乘法运算就能得出结果,由此可见,FFT与SDFT的计算量之比为(log2N)/2,特别是在N较大的时候,SDFT可使运算效率提高更多。在Matlab中画出这样的趋势图,如图2所示。
图2 不同采样点数下FFT与sDFT计算量之比
SDFT的另一个优点是可以选择计算频谱的范围,也就是在进行频谱分析时可以仅选择特定的谱段,其他的谱段不用考虑,这样不仅使计算量进一步降低,还提高了频谱分析的灵活性,能够更加高效的进行实时故障分析。
3 滑动DFT算法的结构实现
由上文滑动DFT的推导可知,进行一次滑动DFT计算时需要两次实数加法和一次复数乘法运算,在此之前需要知道前段时间的频谱分析结果,为了进行滑动DFT运算,一种方法是应用IIR数字滤波器来实现这一过程,如图3所示。图2中的前半部分是一个梳状滤波器,后半部分是一个复谐振器。从图中可以看出,当n
图3 滑动DFT单个频率单元结
4.基于System Generator的sDFT设计与实现
因为没有现成的sDFT的IP核可供调用,所以需要自己搭建。这里使用了System Generator来完成1次基波、5次谐波的产生和迭加,并使用sDFT提取出基波,基波的频率选定为50Hz,采样频率为10kHz,最终输出的是基波的幅值和相位(各为32位的整数,占用了64个输出IO),整个实现的框图如图4所示,包括1次基波、5次谐波的产生和迭加模块,移相模块、乘加模块等等。
图4 整个实现的框图
将System Generator产生的工程文件夹使用ISE12.1开发环境打开,并进行综合、布局布线、产生下载文件等等,最终的资源占用情况如图 所示。在实际系统中,输入信号是由AD采样并经过抗混叠滤波之后产生的,不需要额外进行产生,所以整个系统中的1次基波、5次谐波的产生和迭加部分可以被删除,整个系统的资源占用情况将降低至少一半,因为Cordic运算非常消耗芯片资源。
图5 整个工程的资源占用情况
在前几次的博文中,也专门提高了硬件乘法器的内容。在图基于System Generator的整个系统实现的框图中,可以看到,一共使用了4个32*32的硬件乘法器;对应于图5整个工程的资源占用情况中可以看出,共有8个MULT18*18S专用硬件乘法器被使用,这也从另一方面进一步解释了前面所讲的硬件乘法器的相关内容。接下来将使用FPGA读取外部ADC芯片,比如昨天讲的sigma-delta数据采集系统读入的故障电流信号进行频谱分析的工作。
附件大小
Shi_1.gif
2.77 KB
Shi_2.gif
2.7 KB
Shi_3Zhi_5.jpg
31.31 KB
Tu_1_sDFTShu_Ju_Tu_Shi_.jpg
7.08 KB
Tu_2_Bu_Tong_Cai_Yang_Dian_Shu_Xia_FFTYu_sDFTJi_Suan_Liang_Zhi_Bi_.jpg
29.68 KB
Tu_3_SDFTDan_Yuan_.jpg
8.79 KB
Tu_4_Zheng_Ge_Xi_Tong_Kuang_Tu_.JPG
102.3 KB
Tu_5_ISEZi_Yuan_Zhan_Yong_Qing_Kuang_.jpg
123.27 KB
收藏
分享
评分
记录学习中的点点滴滴,让每一天过的更加有意义!
回复
引用
订阅
TOP
返回列表
传感器技术
电源与功率管理
微波在线
测试测量
模拟电路
无线技术
综合技术交流
医疗电子
ARM
MCU 单片机技术
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议