一种大型吊装设备故障分析信号FIR滤波器设计方法研究

2019-09-01 09:40乔俊松李琪陈诚
科技与创新 2019年9期

乔俊松 李琪 陈诚

摘要:在大型吊装设备工作时,需要采集设备的振动信号和电机转速信号作为故障诊断的数据来源,但由于不同电机转速下混入的高频噪声信号频率不相同,导致传统低通滤波器无法得到信噪比较高的信号,对故障诊断准确率造成影响,急需设计可灵活修改各种参数的低通滤波器。使用MATLAB设计了FIR数字低通滤波器,而后使用QuartusⅡ软件在FPGA上实现该滤波器。使用Modelsim软件对FIR滤波器进行波形仿真,并把数据导出至MATLAB分析。结果表明,所设计的FIR低通滤波器具有良好的滤波效果,满足了预期的设计要求,也可方便修改各种滤波参数,达到了预期的设计目的。

关键词:低通滤波;FIR数字滤波器;FPGA;MATLAB

中图分类号:TU745

文献标识码:A

DOI: 10.15913/j.cnki.kjycx.2019.09.001

1 引言

军事装备中常用各种大型吊装设备来完成武器装备的吊装和安放,设备的工作运行状态需要实时监控,通过状态监控和故障诊断预判提高识别问题的概率,确保武器装备的安全。传统故障诊断设备采集设备开车后的电机转速和振动信号,通过故障诊断算法完成判断,而采集到的振动信号包含大量的高频干扰信号,传统滤波器设置10倍工频作为截止频率,在转速达到6 000 r/min以上时可较好地滤除高频干扰,而在转速在2 000 -6 000 r/min时由于截止频率过高,无法达到滤除效果。而数字FIR滤波器如能方便修改参数矩阵,就可以实现改变各项滤波参数灵活配置滤波器的要求,为达到滤波要求,本文摸索出一种方便利用MATLAB和QUARTUS II设计FIR滤波器的方法和流程,实践证明,能够改善振动信号去噪能力,可提高信噪比。

2 FIR滤波器的原理及设计方法

2.1 FIR滤波器数学模型

数字滤波是将输入的信号序列按规定的算法处理,得到所期望的输出序列。一个线性时不变系统的输出序列v(n)与输入序列x(n)之间应满足常系数线性差分方程:窗、Kaiser窗等,前三种窗函数都是以增加主瓣宽度为代价换取一定程度的旁瓣抑制。只有Kaiser窗是通过调整参数值来折中选择主瓣宽度和旁瓣衰减,因此具有很高的灵活性。

3 基于MATLAB&QUARTUS¨的FIR滤波器设计

3.1

数字滤波器总体设计方案 FIR滤波器设计流程如图2所示。

MATLAB数学工具优势在于不仅可以完成基本的数学运算,对信号进行处理,而且根据各专门领域中的特殊需要提供了许多可选的工具箱,本文采用其设计滤波器专用的Filter Design& Analysis To01( FDA)工具箱,该工具箱使用方便,操作简单,可输出需要的滤波器参数数组。

QUARTUSⅡ是Altera公司的综合性FPGA开发软件,内嵌自带的综合器和仿真器,可以完成从设计输入到硬件配置的完整FPGA设计流程。QUARIUSⅡ支持Altera的IP核,用户可以充分利用成熟的模块,简化设计的复杂性,加快设计速度。

设计时将二者结合使用,发挥各自的优势,先利用MATLAB的Filter Design& Analysis To01( FDA)工具箱进行数字低通滤波器的设计,再将滤波器参数导人QUARTUSⅡ中进行编程,整个设计流程如图2所示。

3.2 基于MATLAB的数字低通滤波器参数设计

利用MATLAB中的數字滤波器设计模块FDATOOL进行低通滤波器的设计,步骤如下。在MATLAB指令窗口中输入“FDATOOL”,弹出窗口如图3所示。

根据整体设计要求,将滤波器参数设置如下。

类型(Filer Type):低通(Low Pass)。

设计方法(Design Method): FIR。

采用窗函数法( Window):Kaiser窗。

采样频率Fs为2 000 Hz。

截止频率Fc为500 Hz。

滤波器的阶数取16,因此Filter order取15。

阻带衰减不小于50 dB,beta值取4.5。

数字滤波器分析方面,FIR滤波器幅频响应如图4所示。

设计好滤波器后,通过FDA工具中的Analysis按钮进行滤波器分析,启动幅频响应分析如图4所示,其中x轴为频率,y轴为幅度值(单位为dB)。

由图4可以得到,频率在200 Hz以下的信号基本没有发生衰减,而频率在500 Hz及以上的信号则发生了较大幅度的衰减,并且不小于50 dB。指标达到了滤波器的设计要求。FIR滤波器相频响应分析如图5所示。由图5可知设计的FIR滤波器在通带内为线性相位响应,即该滤波器是一个线性相位的滤波器。线性相位意味着通带信号保真,满足了设计要求。

导出滤波器系数方面,利用MATLAB的FDA工具箱设计完成FIR低通滤波器并且满足设计要求后,再将滤波器系数,即一个包含16个滤波器参数的数组导出到TXT文本中供QUARTUSⅡ在设计FIR IP核时调用。

3.3 基于FPGA的数字低通滤波器设计

在完成MATLAB软件仿真及数据准备之后,开始进行FPGA设计工作,流程如图6所示。

建立工程,设置FIR核参数,如图7所示。根据需要将FIR核的参数设置滤波器系数位宽(Bit Width)为12 bit,目标器件( Device Family)为CycloneⅣE,流水线级数( Pipline Level)为1,输入数据及滤波器系数的存储资源保持默认值为Logic Cells,滤波器结构(Structure)为DistributedArithmetic:Fully parallel。滤波器系数通过外部文件(FirCoe.txt)导人,如图8所示。

编写Verilog HDL程序,实现滤波功能,主要程序如下:

module FirIPDa (reset_n, clk, Sin, S_out);

input reset_n;

//复位信号,低电平有效

input

clk; //FPGA系统时钟2kHz

input signed [11:0]S_in; //数据输入频率为2kHz

output signed [24:0]S_out.//滤波后的输出数据

wire ast sink_valid, astsourceready,

wire ast_ source_valid;

wire[1:0]ast_sourceerror;

wire [1:0]ast_sink_error;

assign astsink_valid-1fb1;

assign ast_sourceread~l'bl;

assign astsink_error2'd0;

fir firinst(.clk(clk), .reset_n(reset_n),

.ast sink data(S_in),

.ast_ sink valid(ast_sink_valid),

.ast_ sourceready(ast_sourceready),

.ast sink_ error(ast_sink_error),

.ast source_data(Sout),

.ast sink ready(ast_sink_ready),

.ast_ source_valid(astsource_valid),

.ast_ sourceerror(ast_sourceerror》;

endmodule

利用Modelsim进行仿真并将仿真结果输出至外部文件中,再使用MATLAB软件对测试结果进行分析对比,对比情况如图9.图10所示。

图10输入信号与输出信号的时域波形对比

从图9中可以看出,800 Hz附近的噪聲信号衰减都大于50 dB,而200 Hz附近的信号几乎没有改变,满足了设计要求。从图10中可以看出,输入信号有两个峰值,经过滤波后变为了单峰,并且保留下来那个信号的幅度也有所加强,满足了设计要求。

4 结束语

本文完整地论述了基于MATLAB和FPGA的FIR低通滤波器的设计思路和仿真,达到了对FIR滤波器设计的要求,仿真实验验证了设计的正确性,使得设备故障诊断信号源的信噪比大大提高,为后期故障诊断算法运行提供高质量的信号。这一方法可以应用到各种采用FIR滤波器的数字系统中,提高信号滤波效果。

参考文献:

[l]何蕴良,耿淑琴,汪金辉.基于Verilog的FIR数字滤波器设计与仿真[J].现代电子技术,2016( 10): 1-4.

[2]解亚南.基于FPGA的数字滤波器的设计研究[D].青岛:青岛大学,2016.

[3]杨峰.基于FPGA的FIR数字滤波器设计与仿真[J].四川文理学院学报,2016,26 (5): 33-35.

[4]杜勇.数字滤波器的MATLAB与FPGA实现(Altera/Verilog版)[M].北京:电子工业出版社,2015.

[5]曹振吉,何敏.基于FPGA和Matlab的FIR数字滤波器[J].现代电子技术,2015,38 (1): 98-102.

[6]刘东华.Altera系列FPGA芯片口核详解[M].北京:电子工业出版社,2014.

[7]汪丽娜.音频信号采集系统中数字滤波器的研究与设计[D].兰州:兰州交通大学,2014.

[8]王香,张莉莉.基于FPGA的16阶FIR数字滤波器的设计[J].电子世界,2013( 16): 148-149。

[9]单文军,周雪纯,李文华.基于FPGA的FIR数字滤波器设计与实现[J].现代电子技术,2013,36(14): 123-126.

[10]张景芝.基于FPGA的数字滤波器设计与实现[D].石家庄:河北经贸大学,2012.

[11]刘庆良,卢荣军,李建清.FIR数字滤波器的FPGA实现研究[J].电子设计工程,2010(3):59-61,64.