CN102394591B - 一种基于fpga的车辆振动信号滤波装置 - Google Patents
一种基于fpga的车辆振动信号滤波装置 Download PDFInfo
- Publication number
- CN102394591B CN102394591B CN2011102590014A CN201110259001A CN102394591B CN 102394591 B CN102394591 B CN 102394591B CN 2011102590014 A CN2011102590014 A CN 2011102590014A CN 201110259001 A CN201110259001 A CN 201110259001A CN 102394591 B CN102394591 B CN 102394591B
- Authority
- CN
- China
- Prior art keywords
- input
- lms
- register
- filter
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
本发明公开了一种基于FPGA的车辆振动信号滤波装置。该装置中参考噪声信号x(n)接入第一寄存器的输入端,含噪振动信号d(n)接入第二寄存器的输入端,第一寄存器的输出信号x(n)接入滤波器的一个输入端,减法器输出的误差信号e(n-1)分别接入第三寄存器的输入端、滤波器的第二输入端和变步长因子计算电路的输入端,变步长因子计算电路的输出信号变步长因子μ(n-1)接入滤波器的第三输入端,第二寄存器的输出信号d(n)接入减法器一个输入端,滤波器输出的滤波后的参考噪声信号y(n)接入减法器的另一输入端,第三寄存器输出滤波处理后的车辆振动信号。装置所依据的算法具有计算速度快、收敛速度快、实时性高、滤波效果好等优点,可以满足信号实时处理的需求。
Description
技术领域
本发明涉及噪声消除装置,具体涉及一种车载噪声背景下的车辆振动信号的滤波装置。
背景技术
危险品车辆行驶状态数据即车辆振动信号采集的准确性和精确性是车辆姿态数据融合分析获得可靠性结果的前提条件。常用加速度传感器对车辆的俯仰、横滚角度与三个方向的加速度信号对车辆姿态进行判定,在车载环境下,加速度传感器在测量过程中由于机械转子容易漂移和受到其它激振源干扰等原因,真实振动信号往往受到严重的干扰,如果直接使用这种振动信号会对后续分析产生较大误差,给最终的数据分析决策带来很大困难,所以需要先对振动信号进行滤波降噪处理。
车载环境下加速度传感器的干扰信号来源多样且为非平稳信号,在实际工程中经常用到的低通滤波器对此类信号的处理却无能为力。由于车辆内部各部分的固有频率不同,在行驶中车辆由于路面不平、发动机振动、车轮滚动的周期振动和传动系统的不平衡造成的激励。所以,这个实际信号是一个含噪声的非平稳振动信号。由于车辆的振动信号主要集中在低频部分,噪声分布有低频和高频部分,并且存在非平稳性和随机性,很难以用传统方法来解决有用信号的提取。若低通滤波器太宽,则在滤波器后,信号仍存在有大量噪声;若低通滤波器太窄,则将一部分有用信号认为是噪声被滤掉。
目前的滤波方法都是采用软件或者DSP等硬件实现的,由于软件速度慢,对实时信号进行处理比较困难,DSP芯片功耗大,处理能力受到主频的限制等,在处理速度和抗干扰性能方面不能满足系统高速、实时的需求。
发明内容
针对上述现有技术存在的缺陷或不足,本发明的目的在于提供一种基于FPGA的车辆振动信号的滤波装置,该装置是基于FPGA的L阶FIR滤波装置。
为实现上述技术任务,本发明采取如下的技术方案:
一种基于FPGA的车辆振动信号滤波装置,其特征在于:该装置包括第一寄存器、第二寄存器、第三寄存器、减法器、变步长因子计算电路和滤波器;参考噪声信号x(n)接入第一寄存器的输入端缓存,含噪振动信号d(n)接入第二寄存器的输入端缓存,第一寄存器将缓存后的参考噪声信号x(n)输出至滤波器的一个输入端,减法器输出的误差信号e(n-1)分别接入第三寄存器的输入端、滤波器的第二输入端和变步长因子计算电路的输入端,变步长因子计算电路的输出信号变步长因子μ(n-1)接入滤波器的第三输入端,第二寄存器将缓存后的含噪振动信号d(n)输入至减法器一个输入端,滤波器输出的滤波后的参考噪声信号y(n)接入减法器的另一输入端,第三寄存器输出滤波处理后的车辆振动信号;
其中:d(n)为n时刻的含噪振动信号,x(n)为n时刻的参考噪声信号,e(n-1)为(n-1)时刻的误差信号,μ(n-1)为(n-1)时刻滤波器的变步长因子,初始时刻减法器与变步长因子计算电路的输出均为0,即e(1)=0,μ(1)=0;
所述变步长因子计算电路由乘法器1、乘法器2、乘法器3、加法器1、减法器1、除法器1和分频器构成实现变步长因子μ(n-1)的计算;
该μ(n-1)的计算公式如下:
所述分频器由计数器、比较器1、比较器2、反相器和D触发器1构成,该分频器对FPGA平台时钟进行8分频后,为除法器1提供触发时钟;所述计数器的输出端与比较器1的输入端和比较器2的输入端连接,所述比较器1的输出端与反相器的输入端连接,所述反相器的输出端与D触发器1的ce管脚连接,所述比较器2的输出端与D触发器1的d管脚连接,所述比较器1的输出端与计数器的clr管脚连接,D触发器1的输出端与除法器1连接;
所述滤波器为基于FPGA的L阶LMS滤波器,该滤波器由L个LMS_tap和L个加法器构成完成如下运算:
wi(n)=wi(n-1)+2μ(n-1)e(n-1)x(n-i+1)
yi(n)=wi(n)x(n-i+1)
y(n)=y1(n)+y2(n)+y3(n)…+yi(n)…+yL(n)
其中:L为≥1的自然数,1≤i≤L,y(n)为滤波器所计算的n时刻滤波后的参考噪声信号,yi(n)为第i个LMS_tap即LMS_tapi所计算的n时刻滤波后的参考噪声信号,wi(n)为LMS_tapi n时刻的滤波权系数,初始时刻LMS_tapi的滤波权系数为0。
上述滤波器中的LMS_tap个数或加法器个数L=128。
本发明与现有方法相比,具有以下优点:
基于FPGA的车辆振动信号去噪电路采用了FIR串行滤波器结构,充分利用了FPGA芯片的逻辑资源,可实现对中低速车辆振动信号的实时处理,并且降低了滤波器的开发成本。
基于FPGA的车辆振动信号去噪电路具有良好的可扩展性,在FPGA芯片乘法器内核数量允许的情况下,可配置为任意阶数的滤波器结构,从而滤波效果更好。
装置所依据的算法具有计算速度快、收敛速度快、实时性高、滤波效果好等优点,可以满足信号处理方面的实时处理需求。
附图说明
图1为本发明的装置的结构示意图;
图2为变步长因子计算的电路图;
图3为分频器的电路图;
图4为滤波器的电路图。
以下结合附图和实施例对本发明作进一步的详细说明。
具体实施方式
对于滤波器来说,滤波算法的选取是一个方面,算法的硬件实现方案也很重要,实现平台的选取直接影响到数据处理的实时可靠性。本文选取了高速FPGA芯片实现优选的自适应滤波算法。
随着通信技术、信号处理理论和计算机技术的飞速发展,处理的信号量越来越大,对实时性的要求也越来越高。FPGA是基于查找表结构的可编程器件,具有非常丰富的寄存器资源,而且可以通过系统内的重新配置来改变逻辑功能,使设计的更新与改动十分方便。随着FPGA密度和速度的提高,现在FPGA已经可以胜任一些原来只有专用芯片或者多个DSP才能完成的计算任务。基于FPGA的数字信号处理系统的优点是,首先FPGA支持并行处理和流水结构,可以使用时分复用,通过多个处理单元的并行工作,实现高性能的数字信号处理。特别是那些结构性好、数据量大的算法实现。比如快速傅里叶变换(Fast Fourier Transformation,FFT)和数字滤波算法等。其次,FPGA内部越来越多的内嵌了DSP乘法模块。这些模块是硬件模块,运行速度很高,特别适合那些需要大量乘法计算的算法。总之,FPGA是DSP设计的理想器件。
本发明的基于FPGA的车辆振动信号滤波装置所使用的FPGA芯片为Xilinx公司的Virtex-II Pro XC2VP30芯片,所述的寄存器、乘法器、加法器、减法器、缓存器、计数器、D触发器均为Xilinx公司的FPGA芯片的IP核。
参考图1至图4,本发明的基于FPGA的车辆振动信号滤波装置包括第一寄存器、第二寄存器、第三寄存器、减法器、变步长因子计算电路和滤波器;参考噪声信号x(n)接入第一寄存器的输入端,含噪振动信号d(n)接入第二寄存器的输入端,第一寄存器的输出信号x(n)接入滤波器的一个输入端,减法器输出的误差信号e(n-1)分别接入第三寄存器的输入端、滤波器的第二输入端和变步长因子计算电路的输入端,变步长因子计算电路的输出信号变步长因子μ(n-1)接入滤波器的第三输入端,第二寄存器的输出信号d(n)接入减法器一个输入端,滤波器输出的滤波后的参考噪声信号y(n)接入减法器的另一输入端,第三寄存器输出滤波处理后的车辆振动信号;
其中:d(n)为n时刻的含噪振动信号,x(n)为n时刻的参考噪声信号,e(n-1)为(n-1)时刻的误差信号,μ(n-1)为(n-1)时刻滤波器的变步长因子,初始时刻减法器与变步长因子计算电路的输出均为0,即e(1)=0,μ(1)=0;
所述变步长因子计算电路由乘法器1、乘法器2、乘法器3、加法器1、减法器1、除法器1和分频器构成实现变步长因子μ(n-1)的计算;
该μ(n-1)的计算公式如下:
其中,0.08为计算公式中的常系数,变步长因子计算电路是按照上述计算公式来实现的;变步长因子算法的FPGA原理框图如图2所示,减法器的输出信号e(n-1)接到乘法器1中,完成e2(n-1)计算;乘法器1的输出e2(n-1)接入乘法器2与ox64000(十进制的是100)计算100×e2(n-1);计算结果100×e2(n-1)输入加法器1中与ox1000(公式中的十进制1)相加完成100×e2(n-1)+1的运算;100×e2(n-1)+1计算结果输入除法器1的除数端,用ox1000(公式中的十进制被除数1)与之相除,得到的计算结果输入减法器1与被减数ox1000(公式中的十进制被减数1)实现运算;减法器1的计算结果输入乘法器3中,在乘法器3中完成运算,即与十六进制数147相乘得到最终的步长因子。
其中,ox表示十六进制数,所述的公式(1)中的十进制小数与整数的转换是采用b=a*(2^12)的方法计算得到。其中,假设a为原十进制数,通过a*(2^12)计算公式得到一个整数b。再将b转换为十六进制得到。
所述分频器结构图如图3所示,因为除法器1需要8个周期的时钟才能执行完一次除法操作,分频器主要为除法器1提供触发时钟,它将FPGA平台时钟进行8分频后,为除法器1提供触发时钟;
该分频器具体是由计数器、比较器1、比较器2、反相器和D触发器构成完成对FPGA平台时钟的分频工作;所述计数器的输出端与比较器1的输入端和比较器2的输入端连接,所述比较器1的输出端与反相器的输入端连接,所述反相器的输出端与D触发器1的ce管脚连接,所述比较器2的输出端与D触发器1的d管脚连接,所述比较器1的输出端与计数器的clr管脚连接,D触发器1的输出端与除法器1连接;
分频器的输入为FPGA平台时钟信号clk(本发明中的所有参与的模块,如寄存器,加法器,除法器,减法器等的输入信号都有系统时钟信号作为触发时钟),计数器对输入的时钟信号clk脉冲信号进行上升沿监测,每检测到一个clk的上升沿计数器的值加1,且将计数器的值分别输入比较器1和比较器2;
比较器1为计数器提供清零操作指令;比较器1将计数器的值与7比较,当计数器的值等于7,比较器1输出1即高电平,与比较器1相连的计数器clr管脚接收到高电平时,计数器执行清零操作;当计数器的值不等于7时,比较器1输出0即低电平,此时计数器进行加值操作;
比较器1与反相器为D触发器1提供输出使能指令;比较器1将计数器的值与7比较,当计数器的值等于7,则比较器1输出1即高电平,该高电平经反相器翻转为低电平后输入至D触发器1的ce管脚,D触发器1输出不变,仍然输出D触发器1上一时刻输出的信号;当计数器的值不等于7时,比较器1输出0即低电平,该低电平经反相器翻转为高电平后输入至D触发器1的ce管脚,D触发器1输出比较器2的电平;
比较器2控制D触发器1输出电平翻转;比较器2将计数器的值与3进行比较,当计数器的值小于3时,比较器2输出低电平至D触发器1的d管脚,与此同时,D触发器1的ce管脚接收到反相器输入的高电平,D触发器1输出为比较器2的低电平,该电平输入乘法器3为其提供触发时钟;当计数器的值大于3时,比较器2输出高电平至D触发器1的d管脚,与此同时,D触发器1的ce管脚接收到反相器输入的高电平,D触发器1输出为比较器2的高电平,该电平输入乘法器3为其提供触发时钟;
通过对clk的脉冲计数,当计数值小于3时将clk_8置为低电平,大于3时置为高电平,而在计数器等于7时,计数器清零。以此反复。clk_8是相当于将clk的时钟放大了8倍来得到的。
所述滤波器为基于FPGA的L阶LMS滤波器(自适应滤波器),该滤波器由L个LMS_tap(一阶滤波单元)和L个加法器构成进行如下运算:
wi(n)=wi(n-1)+2μ(n-1)e(n-1)x(n-i+1)
yi(n)=wi(n)x(n-i+1)
y(n)=y1(n)+y2(n)+y3(n)…+yi(n)…+yL(n)
其中:L为≥1的自然数,1≤i≤L,y(n)为滤波器n时刻所计算的滤波后的参考噪声信号,yi(n)为第i个LMS_tap LMS_tapi所计算的n时刻所计算的滤波后的参考噪声信号,wi(n)为LMS_tapi n时刻的滤波权系数,初始时刻LMS_tapi的滤波权系数为0;
所述L个LMS_tap分别为:LMS_tap1、LMS_tap2、…、LMS_tap(i-1)、LMS_tapi、LMS_tap(i+1)、…、LMS_tap(L-1)和LMS_tapL;所述LMS_tap1、LMS_tap2、…、LMS_tap(i-1)、LMS_tapi、…、LMS_tap(L-1)和LMS_tapL结构相同且依次连接;所述LMS_tapi由乘法器4、加法器2、与门、D触发器2、D触发器3和乘法器5构成,所述乘法器4、加法器2、与门、D触发器2和乘法器5依次连接;所述D触发器2与加法器2连接;所述LMS_tapi中的乘法器4、乘法器5和D触发器3均与LMS_tap(i-1)中的D触发器3连接,所述LMS_tap(i+1)中的乘法器4、乘法器5和D触发器3均与LMS_tapi中的D触发器3连接;
所述L个加法器分别为:加法器3-1、加法器3-2、…、加法器3-(i-1)、加法器3-i、加法器3-(i+1)、…、加法器3-(L-1)和加法器3-L;该L个加法器依次连接,LMS_tapi中的乘法器5与加法器3-i连接;该L个加法器的初始化值均为0;
LMS_tap1中的乘法器4与第一寄存器连接,LMS_tap1中的D触发器3与第一寄存器连接,LMS_tap1中的乘法器5与第一寄存器连接;L个LMS_tap中的乘法器4均与变步长因子计算电路中的乘法器3连接,L个LMS_tap中的乘法器4均与减法器连接,加法器3-L与减法器连接。
L个LMS_tap中的D触发器2是用来存储当前计算的滤波权系数以计算后续时刻的滤波权系数,本发明中初始时刻即第1时刻reset输入与门为0,其他时刻reset输入与门为1,当reset输入与门为0时,与门输出0于D触发器2中,每个LMS_tap的初始滤波权系数为0,当reset输入与门为1时,与门输出加法器2的计算结果滤波权系数于D触发器2中;
第一寄存器输出的(n-L+1)时刻参考噪声信号x(n-L+1)接入LMS_tap1中的乘法器4中,第一寄存器的输出x(n-L+1)接入LMS_tap1中的乘法器5中,第一寄存器的输出x(n-L+1)接入LMS_tap1中的D触发器3中时;
变步长因子计算电路输出的(n-L)时刻变步长因子μ(n-L)分别接入L个LMS_tap的乘法器4中,减法器的输出的(n-L)时刻误差信号e(n-L)分别接入L个LMS_tap的乘法器4中;LMS_tap1中的乘法器4完成2μ(n-L)e(n-L)x(n-L+1)运算,该运算结果输入加法器2中,D触发器2中缓存的w1(n-L)同时也输入至加法器2中,在加法器2中完成(n-L+1)时刻LMS_tap1的滤波权系数w1(n-L+1)=w1(n-L)+2μ(n-L)e(n-L)x(n-L+1)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w1(n-L+1)运算结果输入乘法器5中完成y1(n-L+1)=w1(n-L+1)x(n-L+1)运算,该运算结果输入至加法器3-1中,加法器3-1将y1(n-L+1)的计算值输入至加法器3-2中,该加法器3-1的初始值为0;输入至D触发器3中的x(n-L+1)经延迟输入LMS_tap2的乘法器4、乘法器5和D触发器3中;
第一寄存器输出的(n-L+2)时刻参考噪声信号x(n-L+2)分别接入LMS_tap1中的乘法器4、乘法器5和D触发器3中时,
变步长因子计算电路输出的(n-L+1)时刻变步长因子μ(n-L+1)分别接入L个LMS_tap的乘法器4中,减法器的输出(n-L+1)时刻的误差信号e(n-L+1)分别接入L个LMS_tap的乘法器4中;
LMS_tap1中的乘法器4完成2μ(n-L+1)e(n-L+1)x(n-L+2)运算,该运算结果输入加法器2中,D触发器2中缓存的w1(n-L+1)同时也输入至加法器2中,在加法器2中完成(n-L+2)时刻LMS_tap1的滤波权系数w1(n-L+2)=w1(n-L+1)+2μ(n-L+1)e(n-L+1)x(n-L+2)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w1(n-L+2)运算结果输入乘法器5中完成y1(n-L+2)=w1(n-L+2)x(n-L+2)运算,该运算结果输入至加法器3-1中,加法器3-1将该值输入加法器3-2中;
与此同时,LMS_tap2中的乘法器4完成2μ(n-L+1)e(n-L+1)x(n-L+1)运算,该运算结果输入加法器2中,D触发器2中缓存的w2(n-L+1)同时也输入至加法器2中,在加法器2中完成(n-L+2)时刻LMS_tap2的滤波权系数w2(n-L+2)=w2(n-L+1)+2μ(n-L+1)e(n-L+1)x(n-L+1)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w2(n-L+2)运算结果输入乘法器5中完成y2(n-L+2)=w2(n-L+2)x(n-L+1)运算,该运算结果输入至加法器3-2中,在加法器3-2中完成y1(n-L+2)+y2(n-L+2)的计算,该计算值输入至加法器3-3中;
输入至LMS_tap2D触发器3中的x(n-L+1)经延迟输入LMS_tap3的乘法器4、乘法器5和D触发器3中;输入至LMS_tap1D触发器3中的x(n-L+2)经延迟输入LMS_tap2的乘法器4、乘法器5和D触发器3中;
依此类推,
第一寄存器的输出n时刻的参考噪声信号x(n)分别接入LMS_tap1中的乘法器4、乘法器5和D触发器3中时,变步长因子计算电路的输出(n-1)时刻的变步长因子μ(n-1)分别接入L个LMS_tap的乘法器4中,减法器的输出(n-1)时刻的误差信号e(n-1)分别接入L个LMS_tap的乘法器4中;LMS_tapi中的乘法器4和乘法器5以及D触发器3均接收到参考噪声信号x(n-i+1);
LMS_tap1中的乘法器4完成2μ(n-1)e(n-1)x(n)运算,该运算结果输入加法器2中完成w1(n)=w1(n-1)+2μ(n-1)e(n-1)x(n)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w1(n)运算结果输入乘法器5中完成y1(n)=w1(n)x(n)运算,该运算结果输入至加法器3-1中,在加法器3-1初始之为0的条件下完成y1(n)+0运算后,将运算所得结果输入加法器3-2;
LMS_tapi中的乘法器4完成2μ(n-1)e(n-1)x(n-i+1)运算,该运算结果输入加法器2中,D触发器2中缓存的wi(n-1)同时也输入至加法器2中,在加法器2中完成wi(n)=wi(n-1)+2μ(n-1)e(n-1)x(n-i+1)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将wi(n)运算结果输入乘法器5中完成yi(n)=wi(n)x(n-i+1)运算,该运算结果输入至加法器3-i中,在加法器3-i中完成y1(n)+y2(n)+y3(n)…+yi(n)的运算,并将该运算结果输入至加法器3-(i+1)中;
LMS_tapL中的乘法器4完成2μ(n-1)e(n-1)x(n-L+1)运算,该运算结果输入加法器2中,D触发器2中缓存的wL(n-1)同时也输入至加法器2中,在加法器2中完成wL(n)=wL(n-1)+2μ(n-1)e(n-1)x(n-L+1)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将wL(n)运算结果输入乘法器5中完成yL(n)=wL(n)x(n-L+1)运算,该运算结果输入至加法器3-L中,在加法器3-L中完成y(n)=y1(n)+y2(n)+y3(n)…+yi(n)…+yL(n)的运算,并将该运算结果输入至减法器中;在减法器中完成e(n)=d(n)-y(n)的运算,e(n)经第三缓存器输出得到滤波后的车辆振动信号;e(n)输入至变步长因子计算电路中按照公式(1)完成μ(n)的计算;新输入的(n+1)时刻的含噪振动信号d(n+1)和参考噪声信号x(n+1)、滤波器中延迟的x(n)至x(n-L)、e(n)和μ(n)按照上述工作流程计算得到新的滤波后的车辆噪声振动信号。
x(1)输入至滤波器中时,相应的滤波器中的LMS_tap1和L个加法器工作;x(2)输入至滤波器中时,相应的滤波器中的LMS_tap1、LMS_tap2和L个加法器工作;x(3)输入至滤波器中时,相应的滤波器中的LMS_tap1、LMS_tap2、LMS_tap3和L个加法器工作;依此类推,x(L-1)输入至滤波器中时,相应的滤波器中的LMS_tap1至LMS_tap(L-1)和L个加法器工作;
实施例1:
本实施例中L=3。第1时刻的含噪振动信号d(1)接入第二寄存器,第二寄存器输出d(1)至减法器,参考噪声信号x(1)接入第一寄存器,在第一寄存器缓存,第一寄存器输出x(1)接入滤波器中的LMS_tap1中的乘法器4、乘法器5和D触发器3中;LMS_tap1的reset输入与门为0,与门输出0于D触发器2中,LMS_tap1的初始滤波权系数为0,该存储于D触发器2中;LMS_tap1的D触发器3中的x(1)延迟输入至LMS_tap2中的乘法器4、乘法器5和D触发器3中;此过程中,d(1)和x(1)为装置的启动信号;
第2时刻的含噪振动信号d(2)接入第二寄存器,第二寄存器输出d(2)至减法器,参考噪声信号x(2)接入第一寄存器,在第一寄存器缓存,第一寄存器输出x(2)接入滤波器中的LMS_tap1中的乘法器4、乘法器5和D触发器3中;LMS_tap1中的乘法器4、乘法器5和D触发器3中,减法器初始输出的误差信号e(1)=0,变步长因子计算电路初始输出的μ(1)=0,e(1)和μ(1)输入3个LMS_tap中的乘法器4中;
在LMS_tap1的乘法器4中完成2μ(1)e(1)x(1),该运算结果输入加法器2中,D触发器2中缓存的初始滤波权系数同时也输入至加法器2中,在加法器2中完成2时刻LMS_tap1的滤波权系数w1(2)=0+2μ(1)e(1)x(2)=0运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w1(2)运算结果输入乘法器5中完成y1(2)=w1(2)x(2)=0运算,该运算结果输入至加法器3-1中,在加法器3-1初始值为0的条件下加法器3-1将y1(2)输入至加法器3-2中;
与此同时,LMS_tap2的reset输入与门为0,与门输出0于D触发器2中,LMS_tap2的初始滤波权系数为0,该存储于D触发器2中;LMS_tap2中的乘法器4完成2μ(1)e(1)x(1)运算,该运算结果输入加法器2中,D触发器2中缓存的初始权系数同时也输入至加法器2中,在加法器2中完成LMS_tap2的滤波权系数w2(2)=0+2μ(1)e(1)x(1)=0运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w2(2)运算结果输入乘法器5中完成y2(2)=w2(2)x(1)=0运算,该运算结果输入至加法器3-2中,在加法器3-2中完成y(2)=y1(2)+y2(2)=0的计算,该计算值输入至加法器3-3中,加法器3-3将y(2)的值输入减法器中,在减法其中完成e(2)=d(2)-y(2)的计算;
输入至LMS_tap2D触发器3中的x(1)经延迟输入LMS_tap3的乘法器4、乘法器5和D触发器3中;输入至LMS_tap1D触发器1中的x(2)经延迟输入LMS_tap2的乘法器4、乘法器5和D触发器3中;
第3时刻的含噪振动信号d(3)接入第二寄存器,第二寄存器输出d(3)至减法器,参考噪声信号x(3)接入第一寄存器,在第一寄存器缓存,第一寄存器输出x(3)接入滤波器中的LMS_tap1中的乘法器4、乘法器5和D触发器3中;LMS_tap1中的乘法器4、乘法器5和D触发器3中,e(2)输入3个LMS_tap中的乘法器4中,e(2)输入至变步长因子计算电路中完成μ(2)的计算,得到的μ(2)值输入3个LMS_tap中的乘法器4中;
在LMS_tap1的乘法器4中完成2μ(2)e(2)x(3),该运算结果输入加法器2中,D触发器2中缓存的w1(2)同时也输入至加法器2中,在加法器2中完成2时刻LMS_tap1的滤波权系数w1(3)=w1(2)+2μ(2)e(2)x(3)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w1(3)运算结果输入乘法器5中完成y1(3)=w1(3)x(3)运算,该运算结果输入至加法器3-1中,在加法器3-1初始值为0的条件下加法器3-1将y1(3)输入至加法器3-2中;
在LMS_tap2的乘法器4中完成2μ(2)e(2)x(2),该运算结果输入加法器2中,D触发器2中缓存的w2(2)同时也输入至加法器2中,在加法器2中完成2时刻LMS_tap1的滤波权系数w2(3)=w2(2)+2μ(2)e(2)x(2)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w2(3)运算结果输入乘法器5中完成y2(3)=w2(3)x(2)运算,该运算结果输入至加法器3-2中,在加法器3-2中完成y1(3)+y2(3)的运算,并将运算结果输入至加法器3-3中;
与此同时,LMS_tap3的reset输入与门为0,与门输出0于D触发器2中,LMS_tap3的初始滤波权系数为0,该存储于D触发器2中;LMS_tap3中的乘法器4完成2μ(2)e(2)x(1)运算,该运算结果输入加法器2中,D触发器2中缓存的初始滤波权系数同时也输入至加法器2中,在加法器2中完成LMS_tap3的滤波权系数w3(3)=0+2μ(1)e(1)x(1)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w3(3)运算结果输入乘法器5中完成y3(3)=w3(3)x(1)运算,该运算结果输入至加法器3-3中,在加法器3-3中完成y(3)=y1(3)+y2(3)+y3(3)的计算,该计算值输入至加法器3-3中,加法器3-3将y(2)的值输入减法器中,在减法器中完成e(3)=d(3)-y(3)的计算;e(3)经第三寄存器输出得到滤波后的车辆振动信号;
LMS_tap2D触发器3中的x(2)经延迟输入LMS_tap3的乘法器4、乘法器5和D触发器3中,信号x(2)将LMS_tap3中的乘法器4、乘法器5D触发器3中的x(1)信号替换;输入至LMS_tap1D触发器3中的x(3)经延迟输入LMS_tap2的乘法器4、乘法器5和D触发器3中;
第4时刻的含噪振动信号d(4)接入第二寄存器,第二寄存器输出d(4)至减法器,参考噪声信号x(4)接入第一寄存器,在第一寄存器缓存,第一寄存器输出x(4)接入滤波器中的LMS_tap1中的乘法器4、乘法器5和D触发器3中;LMS_tap1中的乘法器4、乘法器5和D触发器3中,e(3)输入3个LMS_tap中的乘法器4中,e(3)输入至变步长因子计算电路中完成μ(3)的计算,得到的μ(3)值输入3个LMS_tap中的乘法器4中;
在LMS_tap1的乘法器4中完成2μ(3)e(3)x(4),该运算结果输入加法器2中,D触发器2中缓存的w1(3)同时也输入至加法器2中,在加法器2中完成2时刻LMS_tap1的滤波权系数w1(4)=w1(3)+2μ(3)e(3)x(4)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w1(4)运算结果输入乘法器5中完成y1(4)=w1(4)x(4)运算,该运算结果输入至加法器3-1中,在加法器3-1初始值为0的条件下加法器3-1将y1(4)输入至加法器3-2中;
在LMS_tap2的乘法器4中完成2μ(3)e(3)x(3),该运算结果输入加法器2中,D触发器2中缓存的w2(3)同时也输入至加法器2中,在加法器2中完成2时刻LMS_tap1的滤波权系数w2(4)=w2(3)+2μ(3)e(3)x(3)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w2(4)运算结果输入乘法器5中完成y2(4)=w2(4)x(3)运算,该运算结果输入至加法器3-2中,在加法器3-2中完成y1(4)+y2(4)的运算,并将运算结果输入至加法器3-3中;
在LMS_tap3的乘法器4中完成2μ(3)e(3)x(2),该运算结果输入加法器2中,D触发器2中缓存的w3(3)同时也输入至加法器2中,在加法器2中完成2时刻LMS_tap1的滤波权系数w3(4)=w3(3)+2μ(3)e(3)x(2)运算,该运算结果经与门输入至D触发器2并存储于D触发器2中,D触发器2将w3(4)运算结果输入乘法器5中完成y3(4)=w3(4)x(2)运算,该运算结果输入至加法器3-3中,在加法器3-3中完成y(4)=y1(4)+y2(4)+y3(4)的运算,并将运算结果输入至减法器中;在减法器中完成e(4)=d(4)-y(4)的计算;e(4)经第三寄存器输出得到滤波后的车辆振动信号。e(4)输入至变步长因子计算电路中完成μ(4)的计算;新输入的5时刻的含噪振动信号d(5)和参考噪声信号x(5)、滤波器中延迟的x(5)至x(3)、e(4)和μ(4)按照上述工作流程计算得到新的滤波后的车辆噪声振动信号。
实施例2:
本实施例中L=128。本实施例中的装置的结构和工作原理与实施例1中的相同。
Claims (2)
1.一种基于FPGA的车辆振动信号滤波装置,其特征在于:该装置包括第一寄存器、第二寄存器、第三寄存器、减法器、变步长因子计算电路和滤波器;参考噪声信号x(n)接入第一寄存器的输入端缓存,含噪振动信号d(n)接入第二寄存器的输入端缓存,第一寄存器将缓存后的参考噪声信号x(n)输出至滤波器的第一输入端,减法器输出的误差信号e(n-1)分别接入第三寄存器的输入端、滤波器的第二输入端和变步长因子计算电路的输入端,变步长因子计算电路的输出信号变步长因子μ(n-1)接入滤波器的第三输入端,第二寄存器将缓存后的含噪振动信号d(n)输入至减法器一个输入端,滤波器输出的滤波后的参考噪声信号y(n)接入减法器的另一输入端,第三寄存器输出滤波处理后的车辆振动信号;
其中:d(n)为n时刻的含噪振动信号,x(n)为n时刻的参考噪声信号,e(n-1)为(n-1)时刻的误差信号,μ(n-1)为(n-1)时刻滤波器的变步长因子,初始时刻减法器与变步长因子计算电路的输出均为0,即e(1)=0,μ(1)=0;
所述变步长因子计算电路由乘法器1、乘法器2、乘法器3、加法器1、减法器1、除法器1和分频器构成实现变步长因子μ(n-1)的计算;
该μ(n-1)的计算公式如下:
所述分频器由计数器、比较器1、比较器2、反相器和D触发器1构成,该分频器对FPGA平台时钟进行8分频后,为除法器1提供触发时钟;所述计数器的输出端与比较器1的输入端和比较器2的输入端连接,所述比较器1的输出端与反相器的输入端连接,所述反相器的输出端与D触发器1的ce管脚连接,所述比较器2的输出端与D触发器1的d管脚连接,所述比较器1的输出端与计数器的clr管脚连接,D触发器1的输出端与除法器1连接;
所述滤波器为基于FPGA的L阶LMS滤波器,该滤波器由L个LMS_tap和L个加法器构成完成如下运算:
wi(n)=wi(n-1)+2μ(n-1)e(n-1)x(n-i+1)
yi(n)=wi(n)x(n-i+1)
y(n)=y1(n)+y2(n)+y3(n)…+yi(n)…+yL(n)
其中:L为≥1的自然数,1≤i≤L,y(n)为滤波器所计算的n时刻滤波后的参考噪声信号,yi(n)为第i个LMS_tap即LMS_tapi所计算的n时刻滤波后的参考噪声信号,wi(n)为LMS_tapi n时刻的滤波权系数,初始时刻LMS_tapi的滤波权系数为0。
2.如权利要求1所述的基于FPGA的车辆振动信号滤波装置,其特征在于,所述滤波器中的LMS_tap个数或加法器个数L=128。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102590014A CN102394591B (zh) | 2011-09-02 | 2011-09-02 | 一种基于fpga的车辆振动信号滤波装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011102590014A CN102394591B (zh) | 2011-09-02 | 2011-09-02 | 一种基于fpga的车辆振动信号滤波装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102394591A CN102394591A (zh) | 2012-03-28 |
CN102394591B true CN102394591B (zh) | 2013-11-20 |
Family
ID=45861805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011102590014A Active CN102394591B (zh) | 2011-09-02 | 2011-09-02 | 一种基于fpga的车辆振动信号滤波装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102394591B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330812A (zh) * | 2017-05-13 | 2017-11-07 | 长安大学 | 一种机动车安全技术检验业务信息系统 |
CN116358632A (zh) * | 2023-03-22 | 2023-06-30 | 江苏省特种设备安全监督检验研究院 | 一种危化品运输罐车运行状态综合监测方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866738A (zh) * | 2006-06-12 | 2006-11-22 | 许金生 | 一种通用可编程数字滤波器及其工作方法 |
CN101299233A (zh) * | 2008-04-08 | 2008-11-05 | 西安交通大学 | 基于fpga实现的运动目标识别与跟踪装置及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4835241B2 (ja) * | 2006-04-11 | 2011-12-14 | 株式会社日立製作所 | ディジタルプリディストーション送信機 |
-
2011
- 2011-09-02 CN CN2011102590014A patent/CN102394591B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1866738A (zh) * | 2006-06-12 | 2006-11-22 | 许金生 | 一种通用可编程数字滤波器及其工作方法 |
CN101299233A (zh) * | 2008-04-08 | 2008-11-05 | 西安交通大学 | 基于fpga实现的运动目标识别与跟踪装置及方法 |
Non-Patent Citations (6)
Title |
---|
A Novel FPGA Implementation of a Wideband Sonar System for Target Motion Estimation;Sheng Cheng等;《2008 International Conference on Reconfigurable Computing and FPGAs》;20081205;第349-354页 * |
An Improved Wavelet Filtering Algorithm and Its FPGA Implementation;Lan Yang等;《I.J. Information Technology and Computer Science》;20101231;第2卷(第2期);第17-24页 * |
Lan Yang等.An Improved Wavelet Filtering Algorithm and Its FPGA Implementation.《I.J. Information Technology and Computer Science》.2010,第2卷(第2期),第17-24页. |
Sheng Cheng等.A Novel FPGA Implementation of a Wideband Sonar System for Target Motion Estimation.《2008 International Conference on Reconfigurable Computing and FPGAs》.2008,第349-354页. |
一种变步长LMS自适应滤波算法及分析;高鹰等;《电子学报》;20010831;第29卷(第8期);第1094-1097页 * |
高鹰等.一种变步长LMS自适应滤波算法及分析.《电子学报》.2001,第29卷(第8期),第1094-1097页. |
Also Published As
Publication number | Publication date |
---|---|
CN102394591A (zh) | 2012-03-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104135212B (zh) | 一种柔性化运动控制ip核及实现方法 | |
CN103984560A (zh) | 基于大规模粗粒度嵌入式可重构系统及其处理方法 | |
CN105588717A (zh) | 一种齿轮箱故障诊断方法 | |
CN202309644U (zh) | 一种基于fpga的车辆振动信号滤波装置 | |
CN109154651A (zh) | 基于雷达的测距处理方法、装置及无人飞行器 | |
CN104573371A (zh) | 基于最优小波包变换和ar-svm的非平稳风速预测方法 | |
CN104660220B (zh) | 一种产生整数频率脉冲的信号发生器及信号产生方法 | |
CN105184018A (zh) | 一种计算子系统中频段传递损失和优化声学包的方法 | |
CN102394591B (zh) | 一种基于fpga的车辆振动信号滤波装置 | |
CN104063847A (zh) | 一种基于fpga的引导滤波器及其实现方法 | |
CN105807264A (zh) | 雷达脉冲重复频率检测与初始脉冲到达时间的估计方法 | |
CN109165006B (zh) | Softmax函数的设计优化及硬件实现方法及系统 | |
CN102158451B (zh) | 高速多载波多相内插滤波方法和装置 | |
CN103685110A (zh) | 一种预失真处理的方法、系统及预失真系数运算器 | |
CN102811035B (zh) | 有限冲击响应数字滤波器及其实现方法 | |
CN103176949A (zh) | 实现fft/ifft变换的电路及方法 | |
CN101577536A (zh) | 一种改进的lms算法的实现方法 | |
CN105260515A (zh) | 轮胎动态包络面干涉检查方法及系统 | |
RU2475831C1 (ru) | Адаптивное цифровое прогнозирующее и дифференцирующее устройство | |
CN103152016A (zh) | 光电编码电路输出信号整形方法及电路 | |
CN105043667A (zh) | 转子不平衡振动信号幅值、相位实时计算方法 | |
CN104035075A (zh) | 可配置存储复用的动目标检测器及其检测方法 | |
CN109635312B (zh) | 基于功率流法与统计能量法的结构中频振动计算方法 | |
CN106716292B (zh) | 高速率正弦曲线序列的生成 | |
CN102353940A (zh) | 基于fpga的脉冲压缩优化方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |