自适应陷波滤波器

2024-10-25

自适应陷波滤波器(精选9篇)

自适应陷波滤波器 篇1

0.引言

鼠笼式异步电动机由于其结构简单、使用寿命长、维修维护工作量小而在工业电气传动领域占有非常重要的地位。对鼠笼式异步电动机进行实时状态监测, 及时发现鼠笼式异步电机的异常现象, 避免电机失效和高价维修, 具有极其重要的意义。鼠笼式异步电动机的故障类型很多, 监测方法也有很大的差异。其中转子断条故障, 占鼠笼式异步电动机故障的10%左右。基于自适应陷波器的电动机转子断条故障诊断法有着重要的研究价值。

1. 自适应陷波器

陷波器是一种对某一或多个特定频率有抑制作用的滤波器。图1表示某一单一频率的自适应陷波滤波器 (简称自适应陷波器) , d (t) 是监测到电动机的实际的定子电流信号, 其中含有 (1-2s) f1的有用频率分量;参考输入量x (t) 是电动机定子电流中的工频部分, 即频率为f1的正弦波。在图1中, dk为原始输入序列;x1, k、x2, k为参考输入序列;w1, K、w2, K为k时刻滤波器自适应调整参数;εk为误差信号。采用自适应陷波器的目的是, 去除f1工频分量的干扰, 而让 (1-2s) f1频率分量通过。

最小均方误差 (Least mean-square, LMS) 算法具有易于实现、计算量小等优点, 在理论分析和实践中应用非常广泛。最小均方误差算法的基本思想是:调整滤波器自身参数, 使滤波器输出信号和期望输出信号之间的均方误差最小, 系统输出是有用信号的最佳估计。图2给出了最小均方误差算法工作原理的流程图, 其中μ为步长参数, z-1表示延迟, ω1=2πf1。

根据图2中信号传输过程, 权可以修正为:

故可以推导出:

由此就得到滤波器输出端点的响应:

式中:u (k) 为离散形式的单位阶跃函数, μ为一个控制收敛速度和稳定性的参量。

2. 基于自适应滤波器的转子断条故障诊断

2.1 仿真分析

取采样点数n=2 0 4 8, 采样频率fs=1000Hz。步长因子μ的取值影响陷波器的收敛速度与误差, 经实验分析, 当取μ=0.007自适应陷波器收敛效果最佳。转子轻微断条时, (1-2s) f1频率分量的幅值和f1频率分量的幅值之比约为0.02~0.05, 在这里取比值下限0.02。

针对鼠笼式异步电动机转子断条时的特点, 设电动机定子电流的原始输入d (n) 是工频信号x1 (n) 与电动机转子故障信号的叠加, 即:d (n) =Acos (2πf1n/1000) +0.0 2A c o s (2πf2n/1 0 0 0) =A c o s (0.1πn) +0.02Acos (0.095πn) (6)

式中, 频率为f2= (1-2s) f=47.5Hz的分量表示转子出现断条故障, 这里s=0.025。图3 (a) 、 (b) 分别为信号d (n) 的时域波形和其频谱分析的结果, 频谱分析发现 (1-2s) f1特征分量被强大的基频分量所掩盖。采用本文提出的方法, 做自适应陷波处理时参考输入为一个频率为50Hz的余弦波, 信号d (n) 经自适应陷波器处理后得到的信号及其频谱分析的结果如图4 (a) 、 (b) 所示。从图4 (b) 可以明显看出, 存在频率约为47.5Hz的断条故障的特征量, 虽然频率为50Hz的分量仍然存在, 但其幅值已明显降低了。

2.2 实例分析

采用自适应陷波方法对一台型号为TYPE100-4、ne=1430r/min、p=2的鼠笼式异步电机进行断条故障诊断, 电机的供电频率f1为50Hz, 采样频率fs为1000Hz, 采样点n为2048。此时, 故障特征频率分量 (1-2s) f1仅与转差率s有关, 表1给出了实验的一组数据。从表中可以看出, 自适应陷波后与自适应陷波前的故障特征频率分量与工频分量频谱密度之比大约增加了20倍以上, 从而使故障特征频率分量得以突出, 有利于故障特征量的提取。实验中测得的实际电动机定子电流波形和频谱图如图5所示, 该电流信号采用陷波处理后的信号及其频谱图如图6所示。

结论

仿真分析和实验结果证明, 故障特征频率与理论计算得到的特征频率是一致的, 自适应陷波器对工频信号有很好的抑制作用。从时频图上容易看出, 陷波前故障电流及其频谱完全被工频信号及其频谱所掩盖, 陷波后能清楚地看到故障电流及其频谱, 50Hz频率分量虽然没有完全去除, 但其幅值被削减了95%以上。

摘要:在现代工业生产中, 鼠笼式异步电动机是主要的驱动部件, 其正常工作与否, 直接关系到生产过程能否连续运行。鼠笼式异步电动机转子断条故障是一种隐性故障, 危害比较严重, 且不容易被检测到。本文提出了一种基于自适应陷波器的电动机转子断条故障诊断方法, 经过仿真分析和实验证明应用自适应陷波器方法诊断电动机转子断条故障是行之有效的。

关键词:陷波器,诊断,分析

参考文献

[1]刘来滨, 张廷元, 周封.用自适应陷波器检测异步电动机转子断条的仿真[J].电机技术, 2006 (4) :44-46.

自适应陷波滤波器 篇2

自适应粒子滤波在卫星紫外导航中的应用

基于紫外敏感器的自主导航系统是典型的非线性和噪声非高斯分布的系统,针对扩展卡尔曼滤波(EKF)和Unscented 卡尔曼滤波(UKF)不适于噪声非高斯分布的系统,和一般粒子滤波缺乏在线自适应调整能力等问题,提出了将基于正交性原理的自适应强跟踪滤波器(STF)和UKF相融合作为重要密度函数,应用于基于紫外敏感器自主导航粒子滤波器新方法,通过UKF构造粒子群,对粒子群中的.每一个粒子的每一个sigma点用STF进行更新,使得算法的鲁棒性增强,有极强的对突变状态的跟踪能力,具有强的自适应能力.为了说明算法的有效性,结合模拟的轨道数据和测量数据进行了仿真,仿真结果说明了所提算法的有效性.

作 者:耿建中 肖业伦 GENG Jian-zhong XIAO Ye-lun  作者单位:北京航空航天大学宇航学院,北京,100083 刊 名:计算机仿真  ISTIC PKU英文刊名:COMPUTER SIMULATION 年,卷(期): 24(7) 分类号:V417 关键词:粒子滤波   无察觉卡尔曼滤波   自适应滤波   强跟踪滤波器   卫星轨道  

自适应陷波滤波器 篇3

1 自适应滤波器的原理

自适应滤波器以输入和输出信号的统计特性的估计为依据, 采取特定算法自动地调整滤波器系数, 使其达到最佳滤波特性;它可以是连续域或者离散域的, 离散域自适应滤波器由一组抽头延迟线、可变加权系数和自动调整系数的机构组成。离散域自适应滤波器的输入信号经过自适应处理器后产生输出信号, 然后和作为参考的输入信号进行对比, 产生误差输出信号, 通过设计的自适应滤波算法的反馈调节调整滤波器的参数, 最终输出误差信号均方差的最小值。自适应滤波器的算法决定着滤波器参考信号的处理能力, 在最佳准则条件下算法能够大大提高其输出信噪比。自适应算法通常可以分为最小均方算法 (LMS) 和递推最小二乘算法 (RLS) , LMS算法简单、运算方便、易于实现, 但收敛的速度相对较慢, 且其速度和输入信号的统计特性直接相关。

2 自适应滤波器的LMS算法

LMS算法是自适应滤波器的基础, 是一种随机性递推算法, 该算法主要包含下面三个方程:y (k) =∑w (i) x (k-i+1)

在以上三个式子当中:x为自适应滤波的输入滤波;y为自适应滤波的输出滤波;d为参考信号的滤波;e为误差值;w为权重系数;u为步长;M为自适应滤波器的阶数。步长是表示迭代快慢的物理量, 步长越大, 其自适应的时间越短, 自适应的速度也越快, 同时也会引起很大的失调现象, 当它大于某一个值时, 系统呈现发散状态;步长越小, 失调性就越小, 系统的稳定性也加强, 但是其自适应的时间变得非常长。步长因子受滤波阶数及输入信号功率的影响, 在输入某同一信号时, 为保持系统收敛性, 步长应与滤波阶数成反比, 且步长值根据滤波器阶数的变化而做相应变化, 这样在信号处理过程中才能取得最佳效果, 若滤波器阶数一定, 则LMS算法的收敛速度将只受步长的影响, 自适应滤波器的级数通常同噪声通道对应的传递函数的阶数保持一致。如果级数大于传递函数的阶数, 会造成失调增大, 只有当两者数值相等时, 才能发挥出自适应滤波器的最佳性能;当自适应滤波器的信噪比增大时, LMS算法的性能将受到很大的影响, 在设计时可以采用频域LMS算法来克服这一局限性。

3 自适应滤波器的Mat Lab仿真分析

在MATLAB中, 信号处理工具箱可以看作工具集合, 包含生成波形、设计滤波器、参数模型以及频谱分析等多个常见功能, 使用MATLAB信号处理工具箱, 可以很方便地求解数字滤波器问题, 同时还可以十分便捷地在图形化界面上编辑和修改数字滤波。对设计的LMS算法在MatLab上进行仿真实验, 选取自适应步长为0.0006, 对比信噪比分别取20 dB, 5 dB和-5 dB时自适应滤波器输出的波形, 另外给定信噪比为10 dB时, 对比自适应步长取0.0002, 0.0006, 0.002不同值时的系统误差的波形, 如图1所示, 通过观察分析仿真结果得出以下结论。

步长一定时, 输入信噪比越大, 自适应滤波器输出波形越好, 所需滤波器长度相对较短;信噪比一定时, 如果步长过大, 就会导致自适应滤波器无法收敛, 伴随着迭代次数的不断增加, 自适应滤波器始终无法收敛。步长越大, 造成的系统误差就越小, 但是步长过小时, 对算法的收敛产生严重的影响, 从而导致自适应滤波器无法取得理想的滤波效果。

4 结语

自适应滤波器的初始收敛速度以及稳态误差是衡量其性能好坏的重要指标, 本文主要给出了基于LMS算法的自适应滤波器的设计方法, 同时对其性能在MatLab上进行仿真。分析仿真结果我们得出该方案是可以实现的, 基于LMS算法设计的自适应滤波器在对含噪信号进行处理时, 能够取得很好的滤波效果, 去噪效果显著;分析误差结果发现初始信号的误差值较大, 这是由于LMS算法的局限性引起的, 因此为取得更加理想的效果, 必须根据需要对LMS算法进行必要的改进。

摘要:自适应滤波器技术因其各方面的优越性能, 已经在数字通信、工业控制和雷达等领域获得了广泛应用。本文主要介绍自适应滤波器的Matlab设计方法, 且以LMS算法作为范例进行MatLab仿真, 结果可见设计的自适应滤波器具有良好的性能和较强的可操作性。

关键词:自适应滤波器,MatLab,LMS算法

参考文献

[1]赵海斌.MATLAB应用大全[M].北京:清华大学出版社, 2012.

[2]陈杰.MATLAB宝典[M].北京:电子工业出版社, 2011.

自适应陷波滤波器 篇4

基于多模自适应滤波的无人机控制系统故障诊断

建立了无人机控制系统传感器和执行器的全局故障和局部故障的模型,在此基础上应用多重模型自适应卡尔曼滤波方法对其传感器和执行器的各种软硬故障进行诊断,应用所建立的数学模型与方法,对无人机的三个传感器和两个执行器的.局部与全局故障进行了仿真计算.在仿真过程中发现,此方法的诊断准确度高,无延迟报警,算法简单,仿真结果验证了该种方法的有效性.

作 者:贾彩娟 祝小平周洲 JIA Cai-juan ZHU Xiao-ping ZHOU Zhou 作者单位:西北工业大学365所,西安,710072刊 名:系统仿真学报 ISTIC PKU英文刊名:JOURNAL OF SYSTEM SIMULATION年,卷(期):17(6)分类号:V249关键词:无人机 故障检测与隔离(FDI) 多模自适应滤波(MMAF) 故障诊断

线性自适应滤波算法综述 篇5

关键词:自适应滤波算法,最小均方误差算法,最小二乘算法,变换域,仿射投影,共轭梯度,子带分解

随着信号处理理论和技术的迅速发展, 自适应信号处理理论和技术已经发展成为这一领域的一个新分支, 并且在通信、雷达、声纳、地震学、导航系统、生物医学和工业控制等领域获得越来越广泛的应用。对自适应滤波算法的研究是当今自适应信号处理中最为活跃的研究课题之一。

1 变步长自适应滤波算法

最小均方误差LMS算法最早由Widrow和Hoff于20世纪60年代提出, 由于其结构简单, 性能稳定, 计算复杂度低, 便于硬件实现等特点, 一直是自适应滤波经典算法之一。LMS算法的优点是结构简单, 鲁棒性强, 其缺点是收敛速度很慢。固定步长的自适应滤波算法在收敛速度、时变系统跟踪速度与收敛精度方面对算法调整步长因子的要求是相互矛盾的。为了克服这一矛盾, 人们提出了许多变步长自适应滤波算法。Yasukawa等[1]提出了使步长因子正比于误差信号的大小。吴光弼[2]提出了在初始收敛阶段或未知系统参数发生变化时, 步长比较大, 以便有较快的收敛速度和对时变系统的跟踪速度;而在算法收敛后, 不管主输入端干扰信号有多大, 都应保持很小的调整步长以达到很小的稳态失调噪声, 根据这一步长调整原则, 许多学者设计了多种变步长自适应滤波算法, 分别能够满足不同场合的应用。

2 基于最小二乘准则的RLS算法

基于最小二乘准则RLS算法对输入信号的自相关矩阵的逆进行递推估计更新收敛速度快, 其收敛性能与输入信号的频谱特性无关。但是, RLS算法的计算复杂度很高, 不利于适时实现。许多文献提出了改进的RLS算法, 如快速RLS算法, 快速递推最小二乘格型算法等。这些算法的计算复杂度低于RLS算法, 但它们都存在数值稳定性问题。文献[7]为避免RLS类算法递推估计更新自相关矩阵的逆的不足, 基于最小二乘准则, 利用最陡下降法, 得到一种新的梯度型自适应滤波算法, 该算法计算复杂度较低, 收敛性能良好。

3 变换域自适应滤波算法

对于强相关的信号, LMS算法的收敛性能降低, 这是由于LMS算法的收敛性能依赖于输入信号自相关矩阵的特征值发散程度。输入信号自相关矩阵的特征值发散程度越小, LMS算法的收敛性能越好。经过研究发现, 对输入信号作某些正交变换后, 输入信号自相关矩阵的特征值发散程度会变小。于是, Dentin等1979年首先提出了变换域自适应滤波的概念。其基本思想是把时域信号转变为变换域信号, 在变换域中采用自适应算法。

4 仿射投影算法

射投影算法最早由K.Ozeki和T.Umeda提出, 它是归一化最小均方误差 (NLMS) 算法的推广。仿射投影算法的性能介于LMS算法和RLS算法之间, 其计算复杂度比RLS算法低。归一化最小均方误差 (NLMS) 算法是LMS算法的一种改进算法, 它可以看作是一种变步长因子的LMS算法, 其收敛性能对输入信号的能量变化不敏感。而仿射投影算法的计算复杂度比NLMS算法高很多。Gay等提出的快速仿射投影算法大大降低了仿射投影算法的计算复杂度。

5 共轭梯度算法

虽然RLS算法收敛速度快, 但其计算复杂度很高, 因为它需要估计逆矩阵。假如被估计的逆矩阵失去正定性, 就会引起算法发散;并且算法实现所需的存储量极大, 不利于实现。一些快速RLS算法虽降低了RLS算法的计算复杂度, 但都存在数值稳定性问题。共轭梯度自适应滤波算法不含有RLS算法中的矩阵运算, 也没有某些快速RLS算法存在的数值稳定性问题, 它保留了RLS算法收敛速度快的特点。

6 基于子带分解的自适应滤波算法

子带分解技术用于自适应滤波算法主要是基于以下考虑:对于强相关输入信号自相关矩阵的特征值发散程度很大, 使得所采用的自适应滤波算法的收敛速度和跟踪速度都很慢, 并且权值的自适应滤波器的计算量很高。

基于子带分解自适应滤波的基本原理是将输入信号与参考信号经过分解滤波器组抽取进行子带分解, 对信号按频带划分, 然后在各个子带上分别进行自适应滤波, 再将子带信号内插后通过合成滤波器组得到最后的合成信号。其中, 由于对信号进行了抽取, 使完成自适应滤波所需的计算量得以减小;而在子带上进行自适应滤波使收敛性能又有所提高。

7 结语

本文对各种类型的自适应滤波算法进行了分析总结, 可以看出, 收敛速度快、计算复杂度低、数值稳定性好是这些算法努力追求的目标, 算法与实现结构有着密切的联系, 每个算法都存在不同的等效结构, 结合实际应用还有不少问题需要研究, 在实际应用中应根据具体环境和系统要求, 结合各种算法的特点以达到最优的滤波效果。

参考文献

[1]Yasukawa H, Shimada S, Furukrawa I, et al.Acoustic echo canceller with highspeech quality[C]//Proc.ICASSP’87, 1987, 2125~2128.

[2]吴光弼, 祝琳瑜.一种变步长LMS自适应滤波算法[J].电子学报, 1994, 22, 1:55~60.

[3]Luo xiaodong, Jia zhenhong, Wangqiang.Variable step size LMS adaptivefiltering algorithm[J].Acta ElectronicaSinica, 2006, 34 (6) :1123~1126.

[4]孙恩昌, 李于衡, 张冬英, 等.自适应变步长LMS滤波算法及分析[J].系统仿真学报, 2007, 19 (14) :3172~3175.

自适应陷波滤波器 篇6

1 自适应LMS算法[1,2]

自适应滤波器的特点在于滤波器参数可以自动地根据某种准则调整到相应的最优滤波情况。其基本框图如图1所示。

图中, X (n) 为输入信号, y (n) 为滤波信号, d (n) 为期望信号, e (n) 为误差信号, 用来调整自适应滤波权系数。自适应滤波函数H (z) 的滤波参系数是通过一定的自适应算法, 根据误差信号e (n) 进行自动调整, 目的是使得误差e (n) 的模值越来越小。

自适应LMS算法表述如下:

2 算法的仿真和FPGA实现

本设计使用的工具DSP Builder是Altera公司推出的基于Altera FPGA芯片的系统级 (算法级) 设计工具, 它架构在多个软件工具之上, 并把系统级和RTL级两个设计领域的设计工具连接起来, 最大程度地发挥了两种工具的优势[3]。它依赖于Matlab/Simulink进行建模和仿真, 可以把建模设计文件转换为硬件描述语言文件。

考虑横向LMS算法的FPGA实现时, 有两种拓扑结构可以选择。一种是直接型FIR结构, 另一种是转置型FIR结构。从算法效果上来说, 这两种结构是一致的, 但是转置型结构的滤波部分的关键路径会更短, 能够综合出更高主频的电路[4]。故在Simulink中利用DSP Builder采用转置型LMS结构 (Transpose Form-LMS) 进行建模, 模型参数为8阶16位定点格式。

对于收敛步长因子的选取采用二进制移位的方式, 只改变数据的连线, 不会增加系统资源消耗和计算时间消耗。这里将迭代处理部分左移动10位, 即收敛步长因子为2-10, 约为0.001。Simulink中, 仿真信号为模值等于1的正弦波叠加方差为0.01的高斯白噪声, 建立自适应噪声对消模型, 滤波情况如图2所示。

利用Signal Compiler工具将模型转换成硬件描述语言。用Quartus对转换后的HDL进行综合、布线布局, 得到52.02 MHz (19.223 ns) 的系统频率表现。对EP2C70-F896C6芯片上单个乘法器进行测试, 得到一个乘法运算需要的时间滞后为13.8 ns。考虑上面的LMS算法, 一次迭代过程至少消耗28 ns以上的时间。这说明, 该LMS系统只能运行在35.7 MHz (28 ns) 以下。如果频率超过35.7 MHz, 虽不会造成器件时序违规, 但在运行时序上就不会满足标准LMS算法。

3 算法的改进和FPGA实现

3.1 驰豫超前流水线优化

通过驰豫超前流水线技术改进的TFLMS算法称为TFDLMS (TF-Delay-LMS) 算法, 改进的算法结构如下[4]:

改进结构的特点是, 在式 (6) 权系数更新中, 误差与输入都不使用当前时刻的数据, 而是采用过去的数据来驰豫近似计算。式 (5) 和式 (6) 在这种情况下可以同时进行流水计算, 斩断了原先串行的关键路径, 提高了效率。对驰豫寄存器m的个数需要合理的选取, 若m太大, 则对原系统影响较大;若太小则不易后续时序重构的优化, 这里取m=4进行Matlab仿真。仿真结果如图3所示。

如图3所示, TFDLMS算法在收敛初期由于误差e随着滤波的进行改变一般比较大, 所以在收敛过程中的性能会稍次于TFLMS算法。在稳态的时候, 由于误差e在此刻一般比较小, 所以近似手段对稳态的影响会比较小。考虑到改进后TFDLMS的高度并行的处理结构, 在收敛以及稳态表现上的微小影响的代价是值得的。

在Simulink中建模, 将TFDLMS模型转换为HDL, 在Quartus中综合布线布局, 得到122.79 MHz的频率表现。由于TFDLMS采用驰豫流水计算, 已经是近似计算, 因此无需考虑标准LMS算法的严格串行计算时间问题, 此时的系统工作频率可以认为是采样吞吐频率。显然, 改进后的算法结构系统吞吐频率有很大的提高。

3.2 时序重构优化

时序重构又称重定时 (Retiming) , 是一种在保持系统功能不变的前提下改变系统延迟数目和分布的方法[5]。时序重构的映射等式定义为:

其中, Wr (e) 表示重构映射后的路径e的延时, W (e) 表示重构映射前的路径e的延时, r (V) 表示路径e的前端处理单元V的重构参数, r (U) 代表路径e的后端处理单元U的重构参数。

环路边界的定义为其中tl是环路l的运算时间, wl是环路l的延迟数目。迭代边界是环路结构的环路边界的最大值, 它反映了一个反馈算法环路部分通过时序重构技术能达到的极限关键路径的大小[5]。

在此认为加法器和乘法器都是一个处理时间。计算TFDLMS结构各个环路的环路边界并观察其最大值则可以得到迭代边界为使其迭代边界最小化, 即等于1, 得到驰豫寄存器的数目m=4。重构参数如图4所示, 采用时序重构映射, 根据式 (5) 得到重构后的算法结构TFRDLMS (TF-Retimed-DLMS) , 结果见图4。

由于重构后每个信号路径上都没有负延时情况, 根据时序重构原理的性质, 这个重构映射是合理的、稳定的[5]。可以看到, 合理地选取映射规则对电路进行时序重构, 可以斩断关键路径, 提高系统运行速度。这里, 重构后的关键路径为一个处理单位。

对重构后的算法进行建模、综合、布线布局, 得到182.15 MHz的频率表现力。显然, 重构后的TFRDLMS算法结构的运行频率较于以往有很大的提升。

3.3 变步长优化

前面的设计都是采用固定步长来处理迭代信号。如果采用变步长来处理, 在收敛初期误差e较大时采用较大的步长, 则可以加快收敛速度;而在稳态时误差e很小时采用较小步长, 则可以降低稳态失调。考虑到常用的功率归一化变步长方式的计算复杂度问题, 本设计选用简单的逻辑判断移位来进行变步长操作。

DSP Builder中提供了嵌入外部设计的HDL模块的功能。用Verilog在外部写好关于逻辑判断移位的HDL, 导入HDLImport模块。对变步长的TFRDLMS模型进行仿真, 固定步长TFRDLMS算法进行对比, 结果如图5所示。

变步长算法适当地调整了收敛速度与稳态误差的矛盾, 它的收敛速度要快于固定步长的模型, 而且稳态特性也不会因此变差。改变后得到的系统最高频率为182.78 MHz。显然, 加入这种简单的逻辑判断变步长模块, 并没有对电路的关键路径造成影响。表1为以上设计过程的综合结果。

3.4 板级测试

Signal Tap是Quartus软件中的在线嵌入式逻辑分析仪模块, 利用它可以方便地测试设计结果的实时逻辑时序功能。利用DDS技术在FPGA中设计一个正弦波发生器模块以及噪声发生器模块作为测试信号出入。在Quartus中建立一个测试工程, 利用芯片内部的PLL生成测试运行的频率和Signal Tap采样频率。Signal Tap逻辑分析仪采样频率使用最高的250 MHz, 将测试频率设为125 MHz, 并在工程中加入测试总模块 (DDS信号+变步长TFRDLMS) 。综合布线布局后下载到DE2-70上, 用Signal Tap观测信号如图6所示。实验结果表明, 设计的电路可以稳定地运行在百兆以上, 满足高速自适应运用的需求。

FPGA以其高效的硬件特性在信号处理方面有着越来越多的应用。本文提出的一种变步长的TFRDLMS算法结构的改进方法, 并以自适应噪声对消为模型进行算法仿真。仿真结果表明改进算法结构相比较改进前的算法在滤波性能上只有少许下降, 但是却能够很好地在信号流图上切割关键路径以利于流水实现。最后以8阶16位定点格式为背景参数对变步长TFRDLMS算法进行FPGA建模实现并进行板级功能测试。实验结果表明, 改进算法结构可以很好地应用于高速自适应信号处理的场合。

摘要:在LMS算法进行变步长处理的基础上, 结合驰豫超前流水线技术和时序重构技术提出了创新结构和改进算法, 在FPGA的仿真综合环境中设计实现了该高速自适应滤波器, 并且在AlteraDE2-70开发板上进行了板级测试。

关键词:自适应滤波器,FPGA,DSP Builder,驰豫超前技术,流水线,时序重构

参考文献

[1]丁玉美, 阔永红, 高新波.数字信号处理-离散随机信号处理[M].西安:西安电子科技大学出版社, 2002.

[2]HAYKIN S.Adaptive filter theory[M].4th ed.NJ:PrenticeHall, 2002.

[3]潘松, 黄继业, 王国栋.现代DSP技术[M].西安:西安电子科技大学出版社, 2003.

[4]YI Y, WOODS R, TING L K, et al.High speed FPGA-based implementation of delayed-LMS filters[J].Netherland:Journal of VLSI Signal Processing, 2005 (39) :113-131.

自适应陷波滤波器 篇7

滤波可分为经典滤波和现代滤波。经典滤波要求已知信号和噪声的统计特性,如维纳滤波和卡尔曼滤波。现代滤波则不要求己知信号和噪声的统计特性,如自适应滤波。自适应滤波的原理就是利用前一时刻己获得的滤波参数等结果,自动地调节当前时刻的滤波参数,从而达到最优化滤波。自适应滤波一般包括3个模块:滤波结构、性能判据和自适应算法。其中,自适应滤波算法一直是人们的研究热点,包括线性自适应算法和非线性自适应算法,非线性自适应算法具有更强的信号处理能力,但计算比较复杂,实际应用最多的仍然是线性自适应滤波算法。线性自适应滤波算法的种类很多,有LMS自适应滤波算法、R路自适应滤波算法、变换域自适应滤波算法、仿射投影算法、共扼梯度算法等。

自适应滤波器主要包括滤波器的结构和自适应算法两部分,这两部分不同的变化与组合,可以导出许多不同形式的自适应滤波器。

2 自适应滤波器的结构及其原理

2.1 自适应滤波器的一般原理

所谓的自适应滤波,就是利用前一时刻以获得的滤波器参数的结果,自动地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。自适应滤波器实质上就是一种能调节其自身传输特性以达到最优的维纳滤波器。自适应滤波器不需要关于输入信号的先验知识,计算量小,特别适用于实时处理。

图1为自适应滤波器结构的一般形式,图中x(k)为输入信号,通过权系数可调的数字滤波器或产生输出信号y(k),将y(k)与期望信号d(k)进行比较,得到误差信号e(k),e(k)和x(k)通过自适应算法对滤波器权系数进行调整,调整的目的是的误差信号e(k)最小,重复上面的过程,从而达到最佳滤波的效果。如果输入统计规律发生了变化,滤波器能够自动调整权系数,实现自适应过程。

2.2 自适应滤波器的结构

自适应滤波器的结构可采用FIR或IIR结构,一般采用FIR滤波器,FIR滤波器的结构可分为3种类型,横向结构,对称横向结构以及格型结构。图2为一个FIR横向滤波器的结构。

这种结构包含有由延迟级数所决定的有限个存储单元,输入信号x(n)被若干延时单元延时,这些延时单元的输出与存储的一组权系数w(n)一次相乘,将其乘积相加得到输出信号y(n),这意味着输出是输入信号所存储的权系数或冲击响应的卷积。这种滤波结构仅包含有零点,是稳定的。

3 自适应算法及实现

3.1 自适应算法简介

自适应滤波器包含3个模块:可调整的滤波器结构可以用输入样值计算出输出,性能规范可以监测滤波器的性能,自适应算法可以修改滤波器的系数,任何自适应滤波器的关键部分都是自适应算法。

现在的自适应算法主要有最小均算法(LMS)、递归最小二乘(RLS)算法及相应的改进算法:如归一化(NLMS)算法、变步长(SVSLMS)算法、递归最小二乘方格形(RLSL)算法等。这些算法各有特点,适用于不同的场合。最小均方误差(LMS,The least Mean square)其主要思想是基于最小均方误差准则,使滤波器的输出信号与期望输出信号之间的均方误差最小。由于LMS算法简单有效、鲁棒性好、易于实现,所以应用最为广泛。

3.2 LMS算法分析

由于最速下降法为线性系统Rc=d提供了一个迭代的解答方法,LMS根据它的原理进行一些近似:

使用单次计算的估计误差平方代替平方误差的期望。

The steepest-descent method:

LMS使用单次误差代替误差平均,造成梯度和权矢量成为围绕真值的随机变量。

最陡下降法在每次迭代时要求得到性能曲面梯度的估计值。LMS 方法使用一个特别方法估计这个梯度(这个梯度对于自适应的线性组合器是有效的), LMS 方法的优势在于:(1)计算简单方便(2)不需要离线的梯度估计或者数据副本。如果自适应系统是一个自适应线性组合器,并且输入矢量和期望响应在每次迭代时都可以得到,那么LMS方法通常是一个最好选择。

3.3 LMS算法实现步骤

(1)设计参数

x(n)=n时刻的输入数据矢量

y(n)=n时刻的期望响应

c(n)=n时刻的滤波器系数矢量

M=系数的数目

μ=步长参数

(2)初始化

c(-1)=x(-1)=0

(3)计算

对于n=1,2,…,计算:

c(n)=c(n-1)+2μx(n)e*(n)

4 自适应滤波器的性能评价标准

自适应滤波器的性能评价标准包括以下6个方面:

①失调量: 梯度估计噪声的存在,使得收敛后的权矢量在最佳权矢量的附近随机起伏。

②计算复杂度:关系到滤波处理速度的快慢对时变统计量的跟踪能力。

③结构上:高模块性,并行性等(是否适合硬件实现)。

④收敛速度。

⑤数值特性:数值稳定性(对字长效应不敏感),数值精确性。

⑥鲁棒性:对噪声干扰不敏感,小能量干扰只能造成小估计误差。

5 Matlab仿真

Matlab程序如下:

subplot(4,1,3);plot(n, y);title('自适应滤波后的输出信号y(n)');

xlabel('n');ylabel('y');

subplot(4,1,4);plot(n,e.*e);title('均方误差信号e^2(n)');xlabel('n');ylabel(' E[e^2(n)]');

运行结果如下:

6 结束语

图3-6分别为输入信号、噪声信号、滤波输出信号和均方误差信号,滤波前和滤波后的信号,可以看出,输出信号从50个点左右开始收敛,图像趋于稳定,均方误差也在50左右趋于0。通过Matlab仿真结果分析,根据评价标准,此LMS自适应滤波器具有很好的性能。

滤波技术是信号处理中的一种基本方法和技术,尤其数字滤波技术使用广泛,数字滤波理论的研究及其产品的开发一直受到很多国家的重视。自适应滤波具有很强的自学习、自跟踪能力,适用于平稳和非平稳随机信号的检测和估计。而算法是自适应滤波器的关键,是当前研究的热点,特别是LMS算法,应用最为广泛,对于它的改进型算法和算法的DPS实现,有待于进一步研究和完善。

参考文献

[1]张德辉,穆晓敏.基于LMS算法自适应滤波器的Matlab仿真分析[J].河南科技,2004(9).

[2]张雅彬,王融丽,刘昕.自适应均衡器的LMS算法实现及其仿真[J].吉首大学学报:自然科学版,2006(5).

[3]陈素芝,李英.一种基于变步长LMS算法的语音增强方法[J].声学技术,2005(1).

[4]周永军,卢智远,牛中奇,等.自适应滤波器在心电信号检测中的应用[J].电子质量,2004(12).

[5]刘雄飞,高金定,齐海兵.LMS自适应滤波器FPGA实现的新方法[J].压电与声光,2007(1).

[6]钱秋珊,程旭辉.DLMS算法的自适应噪声抵消器[J].哈尔滨工程大学学报,1988(2).

[7]焦晓军,陈亚光.诱发脑电信号的基于RLS算法的自适应滤波处理及仿真[J].科技创业月刊,2004(15).

[8]刘世忠.自适应滤波器的拟最小二乘算法及其应用[J].四川大学学报:自然科学版,1990(4).

自适应陷波滤波器 篇8

关键词:自适应,中值滤波,FPGA,实时

日常工作和生活中经常会用到高清图像,然而由于外界的干扰图像会引入噪声,因此要对图像进行降噪滤波。作为一种非线性滤波方法,中值滤波可以较好地将随机噪声消除,尤其对孤立的噪声点有较好的效果。普通的中值滤波法在较大程度上改变了图像的原值,对一些细节多的图像会引起图像信息的丢失,因此出现了自适应中值滤波,可以判断像点是否为噪点, 若是则再进行滤波,而且可以调整滤波窗口的大小,这样既保持了图像的细节又去除了图像的噪声[1]。另一方面,在实际应用中,常需要对图像作实时的滤波处理,且自适应的中值滤波算法对运算速度的要求较高。 在现有论文中,多是用Matlab等软件方法实现自适应的滤波算法,而FPGA具有高速并行运算的特点,可以满足中值滤波实时性的要求。文中用FPGA设计了视频图像的实时自适应中值滤波器的简易方案,大幅减少了FPGA芯片资源的占用。

1图像的自适应中值滤波算法

1. 1中值滤波算法描述

中值滤波基本原理是将数字图像中一点的像素值用该点的一个滤波窗口中各像素值的中值替换,算法的核心是对滤波窗口中的数据进行排序,从而求得中值。本文中二维中值滤波用公式表示为

其中,f( x,y) ,g( x,y) 分别为原始图像和处理后图像。 W为二维模板,窗口可以是方形、圆形、线状等,可以根据图像的形状视情况选取; 窗口的大小有3 ×3、5 ×5、 7 × 7等。

1. 2自适应中值滤波算法描述

对一幅图像,取m × m( m为奇数) 的窗口Wm,定义如下变量: 窗口中心像素值为Pxy; 窗口内最大的像素值为Pmax; 窗口内最小的像素值为Pmin; 窗口内像素值的中值为Pmed; 允许的最大的窗口为Wmax; 算法输出结果为date。

自适应中值滤波算法分为两层:

第一层

计算M1、M2,如果M1> 0且M2< 0,则转到第二层,若不是,扩大窗口尺寸为( m + 2) × ( m + 2) ,如果窗口尺寸≤Wmax,就转到第一层,如果不是,输出结果date = Pmed。

第二层

计算N1和N2,如果N1> 0且N2< 0,那么date = Pxy,若不是则输出结果date = Pmed。

1. 3相比传统中值滤波的优点

首先,传统的中值滤波算法,取固定大小的窗口, 如果窗口取的太小,对于一些较大的噪声点的中心位置是无法去除的,如果窗口取的太大,则对于一些图像的细节会丢失,图像变得平滑模糊。而自适应的中值滤波算法可以调整窗口大小,对于上述问题有较大改善; 另外自适应的中值滤波算法在第二层的计算,见式( 3) ,实质上是在判断像素的值是否为极值,如果是极值就认为是噪点,这时输出的滤波结果是中值Pmed, 如果不是极值则认为像素点不是噪点,输出原像素值Pxy,这样在一定程度上保留了未受噪声污染的像素值,保持了图像的细节[3]。

2实时图像自适应中值滤波器的设计

2. 1方案简介

文中对自适应中值滤波的算法实现方式和实现平台做出了创新。在此之前的大部分研究中自适应的滤波算法都是用Matlab语言或C语言等软件方法实现编程,由于受到运算速度的限制,不能实现摄像头等图像采集系统对于滤波的实时性要求; 而且现有硬件实现方案设计较为复杂,基于这些原因,本文做出了基于FPGA的实时的自适应中值滤波器的简易方案。

该程序仅用4个1 024 × 8 bit的同步FIFO,以及若干寄存器实现了算法。经过ISE分析仅使用3 074个Slice,5 967个LUT,占用资源较少,且图像的像素值经过两行的时间即可得到滤波后的第一个像素,延时较小,这对于视频实时性要求较高的场合较适用。

FPGA芯片选取的是Xilinx[2]的Virtex -2系列中的XC2V3000芯片[2],系统门数是3 × 106,Slice数目是14 336个,RAM总容量2 176 kB,最大可用I/O有720个,完全满足本方案对资源的要求。视频源由PC机的NVIDIA GeForce GTX 460显卡通过DVI接口提供,该显卡支持两路DVI输出,所以作者利用一路DVI图像显示原来的视频源,另一路视频经电路板中值滤波后在液晶显示器上显示,这样通过对比可以看到滤波的结果。在这里视频源选取1 024 × 768的分辨率( 可以调节从800 ×600 ~1 440 ×900) 。

2. 2方案详解

图1是本程序的结构图,显卡输出的视频图像数据通过DVI接口传入5 ×5窗口生成模块。输入信号有像素值Image date、行同步Hs、场同步Vs、数据有效信号De以及时钟Clk。然后同时进入到5 ×5数据排序模块和3 × 3数据排序模块进行排序,分别得到中值、最大值和最小值; 然后进入自适应滤波选择控制器模块,利用上文提到的自适应的中值滤波算法,得到最终的结果经VGA图像输出模块送显示器显示,于是得到经滤波后的视频图像[4 -5]。注意到,在这里考虑到大窗口数据排序的复杂性,只选取了3 ×3和5 ×5两个窗口实现自适应的滤波算法。

2. 2. 1 5 × 5窗口生成模块

如图2所示,本模块由25个寄存器和4个FIFO组成,是控制数据流动的核心模块。FIFO是利用芯片的IP核生成的先入先出存储器,每一个位宽为8位, 深度1 024。窗口生成以及移动的过程是这样的: 根据视频图像的数据有效信号以及行、场同步信号确定有效数据的到来,然后初始化寄存器和FIFO,对于分辨率是1 024 ×768的情况,将第1行~ 第5行的前5个像素值存入D1~ D25,同时将前4行剩下的1 019个像素值依次存入到FIFO1 ~ FIFO4中。初始化完成后即得到了第一个窗口。然后数据流开始反向,从第5行的第6个数据开始依次进入该窗口,方向是从D25流向D1。这样如果以一帧图像为参照,窗口每个周期向右移动一次,一直移动到最后一行。每次进入窗口的25个数据就进入后面的5 × 5和3 × 3排序模块,如图1所示。显然图像外侧的两圈数据是不能得到处理的, 这些点保持原值输出。

2. 2. 2数据排序模块

根据自适应滤波的算法,作者采用3 × 3和5 × 5窗口同时进行排序的方式。取3 ×3窗口的9个数据D7、D8、D9、D12、D13、D14、D17、D18、D19进行排序,排序算法有多种[3]。作者经过3个周期就能得到求出中值medof9date、最大值maxof9date和最小值minof9date。 同时进行5 × 5窗口25个数据的排序。算法流程如图3所示[4]。先将D1~ D25每一列从下到上由大到小排序,得到P1~ P25,然后将其每一行从右到左、由大到小排序,得到M1~ M25,然后将图中对角线三列数据按箭头方向从大到小排序,得到第4幅的对角线的3列数据,然后将N16、N13和N10排序得到H13即为25个数的中值med0f25date。M1即最小值minof25date,M25即最大值maxof25date[6]。

根据图3所示的算法,设计了25个数求中值最小值和最大值的程序,图4是ISE生成的该排序程序RTL原理图。在此程序中调用了13次5个数排序模块和一次3个数排序模块。其中5个数排序的算法如图5所示,先将D1、D2、D3进行排序,得到D3> D2> D1,然后将D4插入其中,有4种情况,得到d4> d3> d2> d1,然后用相同的方法将D5插入这4个数中,从而得到5个数从大到小为d5> d4> d3> d2> d1。具体的Verilog程序中用组合逻辑电路来设计,只需不到一个周期就能得到排序结果。在25个数排序时经过4步调用,共需4个周期就能得到25个数的最大值、中值、最小值,保证了滤波的实时性。

2. 2. 3自适应滤波选择控制器模块

此模块是实现自适应算法的核心控制模块,前一个模块中对3 ×3和5 ×5的窗口分别得到了最大值最小值以及中值,还有窗口中心像素值。然后按照图6所示的算法得到最终的自适应的中值滤波结果。

2. 2. 4行场同步控制和VGA图像输出模块

行场同步控制模块接收5 ×5窗口生成模块的行同步信号Hs、场同步信号Vs以及数据有效信号De进行一定的延时后,产生新的行、场同步以及数据有效信号经VGA图像输出模块输出。VGA图像输出模块接收自适应滤波选择控制器模块输出的滤波结果,送显示器显示,得到自适应中值滤波后的视频图像。

3结束语

图7 ~ 图10为实验结果图,通过对比发现,传统的3 ×3中值滤波有一些噪点没有滤除掉,而作者在FPGA实现的自适应的中值滤波较好地滤除了噪声, 且图像细节相对保持较好。

自适应陷波滤波器 篇9

在传感器的工作环境中,不可避免地存在各种不希望有的噪声信号,如人为的干扰源、各种散射体引起的回波以及自然噪声源的干扰等,并且会随时间和空间而变化。变化的工作环境通常使得按照先验知识设计得到的固定的滤波器难以发挥应有的作用,甚至失效,而自适应滤波可以根据外部环境的变化调节自身参数,因此可以引入到传感器单元、阵列乃至网络的信号处理中。根据自适应滤波器输入信号的不同,可以分别应用于自适应预测、自适应模拟、自适应降噪等。

1 自适应噪声抵消原理

本文讨论用于自适应降噪的自适应噪声对消系统,系统结构如图1所示,设k为时间变量。原始通道输入中含有信号和噪声,即d(k)=s(k)+n0(k),其中s(k)为信号,n0(k)为噪声;参考通道输入只含噪声,为X(k)=n1(k);自适应滤波器的输出为y(k);系统输出为e(k)。系统在输出e(k)的同时将其输入自适应滤波器。

假设s(k)、n0(k)、n1(k)、y(k)都是统计平稳的,并且具有零均值,s(k)与n0(k)和n1(k)均不相关,但n0(k)与n1(k)相关。这样的假设与实际应用中的传感器系统是相符的,因为两个物理距离相近的输入通道间必然存在一定的相关噪声。这样的模型在光纤水听器系统中可以通过原始通道采集光纤水听器的信号,参考通道采集噪声信号来实现。本文的实验就是采用这样的思路。

自适应噪声抵消的基本原理是根据反馈将自适应滤波器的系数调整至最优,使参考通道的噪声n1(k)逼近于原始通道的噪声n0(k),从而互相抵消,使系统输出为原始信号[1,2]。理论上,采用自适应噪声抵消可以抵消两个输入通道间的相关噪声,从而增加信噪比[3]。相关噪声越多,信噪比的改善越明显。

1.1 自适应滤波器系数的理论求解

自适应滤波器系数的最优求解基于两种原则:最小均方法(LMS)和最小二乘法(RLS)。两种准则下的基本原理都是维纳方程。但前者是以原始通道和参考通道输入间差值的均方值最小为准则,后者是以原始通道和参考通道输入间的加权差值最小为准则。自适应滤波算法的选择取决于收敛速率、失调、跟踪性能、鲁棒性、运算量、实现结构和数值特性等多个因素。最小二乘法不需要对滤波器输入信号的统计特性做假设,通过一个数据块接一个数据块的重复计算来适应非平稳数据,因此其运算量比最小均方法要大很多。基于后续实现的考虑,我们采用运算量较小的最小均方法。对式(1)求平方的期望,得到:

根据式(2),当调节滤波器使E[e(k)2]最小时,相应的E[(n0(k)-y(k))2]也达到最小。因此,此时自适应滤波器输出y(k)为噪声n0(k)的最佳均方估计,也即系统输出e(k)为信号s(k)的最佳的均方估计。

以单输入,滤波器的长度为L来分析图1的自适应系统。在单输入情况下,自适应滤波器的系数为列向量,原始通道和参考通道的L个连续时刻的输入也组成列向量。设在k(k=0,1,2,3,…,m)时刻,自适应滤波器的滤波系数为Wk=[w1,w2,…,wL]T,参考通道输入为Xk=[n1(1),n1(2),…,n1(L)]T,则k时刻,自适应滤波器的输出为:

将式(3)代入式(1)得到:

对式(4)求平方的期望,得到:

令R=E[XkXkT],P=E[d(k)Xk],则式(5)可以写成:

对于确定时刻,式(6)为自适应滤波器系数Wk的单变量函数,要求E[e(k)2]的最小值,只要将式(6)对Wk的梯度置为0,即可得到Wk的最佳值Wopt,因此自适应理论确定的最佳滤波器系数为:

式中Wopt为最小均方误差意义上的最佳滤波器系数。

1.2 自适应滤波器系数的计算

在实际应用中,梯度的计算采用瞬时估值:

采用牛顿法进行梯度搜索,即从初始值开始,用一阶梯度逐步递进计算自适应滤波系数。为使递进计算快速收敛至最优解,增加了调整收敛速率的步长参数μ,得到由当前滤波器系数Wk迭代计算得到下一组滤波器系数Wk+1:

自适应滤波器系数的自适应过程即采用式(9)进行,等式右边的第二项即为反馈的自适应调整量,实际应用中需要注意自适应滤波器系数长度L、自适应步长参数μ的选取,选取原则一般为[4,5,6]:a.L不能小于输入信号自相关矩阵非零特征值的个数;b.μ的取值范围为,其中Smax为输入信号的功率谱密度的最大值,μ值过小会减慢自适应速度,而μ值过大会引起自适应误差增大,实际使用中,步长值通常取为该上限值的1/10。为了增加收敛速度,还可以设置μ值为可变值,用大步长快速逼近最佳值区域后,再用小步长逼近最佳值。自适应滤波器系数的计算过程是一个迭代过程,如果系数的先验知识未知,则初值W0设置为全0的列向量。

2 自适应滤波算法的实现

本文对16单元光纤水听器阵列在某次湖试中的数据进行分析,认为试验中的信号与噪声均统计平稳。基本数据处理采用Labview软件进行。由于在目前采用的Labview软件中不包含自适应滤波模块,而且在Labview软件中编程实现自适应较为复杂,因此自适应滤波器的实现采用Matlab软件[7,8],如要实现完整的滤波流程,需要在Labview中调用Matlab代码。从数据文件读入原始数据后,自适应滤波系数的迭代流程如图2所示,图中迭代误差标准设为经验值0.001。

3 实验数据分析

根据以上算法流程分析处理解调后的单元信号和阵列波束,与自适应滤波处理前的结果进行对比。以下对静态目标检测和拖曳状态的两组数据进行分析。

3.1 静态

在静态目标检测试验中,水听器阵列的状态为水平放置于水中,在固定方向施加1kHz信号,图3为某一单元未经自适应滤波处理的原始数据和经过自适应滤波处理后的数据。从图可以看出,自适应滤波后信号的强度为-10dBW,与原始信号相同,而噪声在2kHz处降低了近10dB;频率越高,噪声的抵消效果越明显。同样的滤波器参数,用于阵列中其他各单元,得到的噪声处理效果与图3类似,因此该处理方法用于阵列信号处理也是有效的,而且随着阵列单元数的增加,运算量只是线性增加。图4是同样的实验条件下,自适应滤波处理前后阵列信号的波束图,从自适应滤波后数据的波束图上可以明显看出该信号来自0°方向,而在自适应滤波前数据的波束图上信号方位不明显。

3.2 拖曳

在拖曳试验中,用小船以某一速度对水听器阵列进行拖曳,测试噪声水平,自适应滤波前后的噪声谱如图5所示,在1kHz处,噪声降低了5dB左右,而大于1kHz时的噪声的降低更加明显。

4 总结

上一篇:玉米品种试验总结下一篇:水库移民的社会保障